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

C#之WinForm跨线程访问控件实例,第1张

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

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

具体实现方法如下:

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

复制代码 代码如下:using System;@H_404_12@using System.windows.Forms;

namespace ahwildlife.Utils@H_404_12@{@H_404_12@    /// <summary>@H_404_12@    /// 跨线程访问控件的委托@H_404_12@    /// </summary>@H_404_12@    public delegate voID InvokeDelegate();

    /// <summary>@H_404_12@    /// 跨线程访问控件类@H_404_12@    /// </summary>@H_404_12@    public class InvokeUtil@H_404_12@    {@H_404_12@        /// <summary>@H_404_12@        /// 跨线程访问控件@H_404_12@        /// </summary>@H_404_12@        /// <param name="ctrl">Form对象</param>@H_404_12@        /// <param name="de">委托</param>@H_404_12@        public static voID Invoke(Control ctrl,Delegate de)@H_404_12@        {@H_404_12@            if (ctrl.IsHandleCreated)@H_404_12@            {@H_404_12@                ctrl.BeginInvoke(de);@H_404_12@            }@H_404_12@        }@H_404_12@    }@H_404_12@}

2、用法

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

复制代码 代码如下:InvokeDelegate invokeDelegate = delegate()@H_404_12@{@H_404_12@        button4.Enabled = false;@H_404_12@        button5.Enabled = false;@H_404_12@        button6.Enabled = false;@H_404_12@        button7.Enabled = false;@H_404_12@        button8.Enabled = false;@H_404_12@};@H_404_12@InvokeUtil.Invoke(this,invokeDelegate);

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

总结

以上是内存溢出为你收集整理的C#之WinForm跨线程访问控件实例全部内容,希望文章能够帮你解决C#之WinForm跨线程访问控件实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1260984.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存