时间:2021-05-20
本文实例讲述了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#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#多线程与跨线程访问界面控件的方法。分享给大家供大家参考。具体分析如下:在编写WinForm访问WebService时,常会遇到因为网络延迟造成
本文实例讲述了WinForm遍历窗体所有子控件的方法。分享给大家供大家参考,具体如下://////C#只遍历控件子控件,不遍历孙控件///当控件有子控件时,需要
本文实例讲述了C#实现winform中RichTextBox在指定光标位置插入图片的方法。分享给大家供大家参考,具体如下://获取RichTextBox控件中鼠
分析:label标签控件是主线程创建的,不能直接从另一个线程访问.可以这样认为:不能跨线程直接访问控件;最简单的办法就是:复制代码代码如下:usingSyste
C#中自定义控件VS用户控件大比拼1自定义控件与用户控件区别WinForm中,用户控件(UserControl):继承自UserControl,主要用于开发Co