当前位置: 移动技术网 > IT编程>开发语言>c# > C#之WinForm跨线程访问控件实例

C#之WinForm跨线程访问控件实例

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例讲述了c#中winform跨线程访问控件的实现方法,分享给大家供大家参考。

具体实现方法如下:

1、跨线程访问控件委托和类的定义

复制代码 代码如下:
using system;
using system.windows.forms;

namespace ahwildlife.utils
{
    /// <summary>
    /// 跨线程访问控件的委托
    /// </summary>
    public delegate void invokedelegate();

    /// <summary>
    /// 跨线程访问控件类
    /// </summary>
    public class invokeutil
    {
        /// <summary>
        /// 跨线程访问控件
        /// </summary>
        /// <param name="ctrl">form对象</param>
        /// <param name="de">委托</param>
        public static void invoke(control ctrl, delegate de)
        {
            if (ctrl.ishandlecreated)
            {
                ctrl.begininvoke(de);
            }
        }
    }
}

2、用法

在form1.cs文件的线程方法中:

复制代码 代码如下:
invokedelegate invokedelegate = delegate()
{
        button4.enabled = false;
        button5.enabled = false;
        button6.enabled = false;
        button7.enabled = false;
        button8.enabled = false;
};
invokeutil.invoke(this, invokedelegate);

希望本文所述对大家的c#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网