更新主窗口控件的内容2:子线程工作时同时更新主线程内的控件内容
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using System.Threading; 10 11 namespace WindowsFormsApplication1 12 { 13 public partial class MainForm : Form 14 { 15 MainFormHelper mh = new MainFormHelper(); 16 public MainForm() 17 { 18 InitializeComponent(); 19 20 mh.SetMsgInfoEvent += new MainFormHelper.SetMsgInfoHandler(mh_SetMsgInfoEvent); 21 } 22 23 void mh_SetMsgInfoEvent(string msg) 24 { 25 this.textBox1.Text = msg; 26 this.textBox1.Update(); 27 } 28 29 /// <summary> 30 /// 入口 31 /// </summary> 32 /// <param name="sender"></param> 33 /// <param name="e"></param> 34 private void button1_Click(object sender, EventArgs e) 35 { 36 mh.Begin(); 37 } 38 } 39 40 public class MainFormHelper 41 { 42 public delegate void SetMsgInfoHandler(string msg); 43 public event SetMsgInfoHandler SetMsgInfoEvent; 44 45 public void Begin() 46 { 47 if (SetMsgInfoEvent != null) 48 { 49 for (int i = 0; i < 10; i++) 50 { 51 SetMsgInfoEvent(i.ToString()); 52 System.Threading.Thread.Sleep(500); 53 } 54 } 55 } 56 } 57 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。