欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#WinForm跨线程访问控件泛型方法

程序员文章站 2022-06-10 21:11:49
...

WinForm跨线程访问控件泛型方法

        /// <summary>
        /// 跨线程访问控件泛型方法
        /// </summary>
        /// <typeparam name="t"></typeparam>
        /// <param name="cont"></param>
        /// <param name="action"></param>
        public static void InvokeControlAction<t>(t cont, Action<t> action) where t : Control
        {
            if (cont.InvokeRequired)
            {
                cont.Invoke(new Action<t, Action<t>>(InvokeControlAction), new object[] { cont, action });
            }
            else
            { action(cont); }
        }

调用:

InvokeControlAction<ProgressBar>(proBar, t => { t.Minimum = 0; t.Maximum = pointList.Count; t.Value = 0; });
InvokeControlAction<ProgressBar>(proBar, t => t.Value++);
InvokeControlAction<Label>(label, t => t.Text ="你好");
相关标签: C# 跨线程