返回> 网站首页 

C#的委托使用

yoours2017-12-15 15:00:32 阅读 2126

简介一边听听音乐,一边写写文章。

一、多线程中操作控件
        private delegate bool ButtonEnableDelegate(bool bEnable);
        public bool EnableButton(bool bEnable)
        {
            if (this.button2.InvokeRequired)
            {
                ButtonEnableDelegate method = new ButtonEnableDelegate(this.EnableButton);
                IAsyncResult ir=base.BeginInvoke(method, new object[] { bEnable });
base.EndInvoke(ir);// 等待操作完成才返回,可以删除改成立即返回
                return false;
            }
            this.button2.Enabled = bEnable;
            return true;
        }

二、按钮单击事件委托
// 按钮单击事件
private void btnstart_Click(object sender, EventArgs e)
{
}

// 简单封装
void StartButton()
{
btnstart_Click(null, null);
}

// 委托方法
delegate void AutoStopReaderHandler();
// 调用
this.BeginInvoke(new AutoStopReaderHandler(StartFixTimesRead));

微信小程序扫码登陆

文章评论

2126人参与,0条评论