C# 委托Delegate的使用 笔记

2021-04-30 12:28

阅读:354

标签:笔记   catch   属性   nbsp   pre   stat   线程   ram   str   

使用delegate总是一头雾水,记录一下笔记,备忘。

主要用于线程间操作UI上的控件,以便使用。或者是大家统一操作入口使用。

技术分享技术分享
 1 using System.Windows.Forms;
 2 
 3 namespace System.Delegate
 4 {
 5    public static class UIDelegate
 6     {
 7         //------------------
 8         public  delegate void myDelegateW(Control str, string s);
 9         public  delegate string myDelegateR(Control str);
10         //------------------
11 
12         /// 
13         /// 可以实现对带有Text属性的标准控件进行写操作
14         /// 
15         /// 
16         /// 
17         public static void writeUIControl(Control ctr, string str)
18         {
19             if (ctr.InvokeRequired)
20             {
21                 myDelegateW mydelegate = new myDelegateW(writeUIControl);
22                 ctr.Invoke(mydelegate, new object[] { ctr, str });
23             }
24             else
25             {
26                 try
27                 {
28                     ctr.Text = str;
29                 }
30                 catch { }
31             }
32         }
33         public static string readUIControl(Control ctr)
34         {
35             string ret = string.Empty;
36             if (ctr.InvokeRequired)
37             {
38                 myDelegateR mydelegate = new myDelegateR(readUIControl);
39                 ctr.Invoke(mydelegate, new object[] { ctr });
40             }
41             else
42             {
43                 try
44                 {
45                     ret = ctr.Text;
46                 }
47                 catch { }
48             }
49             return ret;
50         }
51     }
52 }
View Code

 

C# 委托Delegate的使用 笔记

标签:笔记   catch   属性   nbsp   pre   stat   线程   ram   str   

原文地址:http://www.cnblogs.com/ufk119/p/7804352.html


评论


亲,登录后才可以留言!