C# 主窗口通过委托让子窗口执行处理,范例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014207106/article/details/79652213

范例:主窗口点击按钮,子窗口去改变窗口里的文本控件的文本内容

主窗口FrmMain:

    public partial class FrmMain : Form
    {
        FrmSubWindow objFrmSub = new FrmSubWindow();
        public FrmMain()
        {
            InitializeComponent();
            objFrmSub.Show();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //【第五步】调用委托,此时委托变量会执行绑定的方法
            objFrmSub.objDelegateChange();
        }
    }

    //【第一步】声明委托
    public delegate void DelegateChangeTxt();

子窗口FrmSubWindow:

    public partial class FrmSubWindow : Form
    {
        //【第三步】创建委托变量
        public DelegateChangeTxt objDelegateChange;

        public FrmSubWindow()
        {
            InitializeComponent();
            //【第四步】委托变量绑定方法
            objDelegateChange += new DelegateChangeTxt(changeLabel);
        }

        //【第二步】根据委托定义一个方法,参数和返回类型要跟声明的委托保持一致
        //委托方法根据实际执行的地方去写,比如现在是想操纵子窗口的label控件改变它的文本
        //所以就在子窗口定义方法
        private void changeLabel()
        {
            label1.Text = "你好!";
        }
    }


最后效果:

点击按钮前


点击按钮后



没有更多推荐了,返回首页