C#之WinForm跨线程访问控件实例
C#之WinForm跨线程访问控件实例
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了C#中WinForm跨线程访问控件的实现方法,分享给大家供大家参考。具体实现方法如下:1、跨线程访问控件委托和类的定义复制代码...

本文实例讲述了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#程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类