C# 下使用委托跨窗体调用函数和控件的实现

form1

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 跨窗体调用函数
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
            f.ChangeColor += new Form2.ChangeFormColor(f_ChangeColor);
            f.Show();  
        }
        void f_ChangeColor(bool topmost)
        {
            this.BackColor = Color.LightBlue;
            this.Text = "改变成功";
        }  
    }
}



form2

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace 跨窗体调用函数
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        public delegate void ChangeFormColor(bool topmost);  
        private void Form2_Load(object sender, EventArgs e)
        {

        }
        public event ChangeFormColor ChangeColor;
        private void button1_Click(object sender, EventArgs e)
        {
            ChangeColor(true);//执行委托实例  
        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            ChangeColor(true);
        }  
    }
}


C# 下使用委托跨窗体调用函数和控件的实现,布布扣,bubuko.com

C# 下使用委托跨窗体调用函数和控件的实现

上一篇:VC串口通讯(Windows API)


下一篇:Apache [warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.