目的:Form1与Form2,Form1的button事件打开Form2,在from1中写入文本在from2中同步显示。
/*-------------form1中----------------------------*/ Form2 f2 = new Form2(); //线程函数 public void ShowForm() { f2.ShowDialog(); } //打开form2 private void button3_Click(object sender, EventArgs e) { ThreadStart Ts = new ThreadStart(ShowForm); Thread th = new Thread(Ts); th.IsBackground = true; th.Start(); //绑定委托事件 DST = f2.setContent; } //声明委托,用委托来实现线程间的数据传递 public delegate void DelegateSetText(string T); public DelegateSetText DST; //向form1中写入文本 private void textBox1_KeyUp(object sender, KeyEventArgs e) { string text = textBox1.Text; //触发委托 DST(text); } /*---------------form2中--------------------------*/ public void setContent(string T) { this.textBox1.Text = T; }
实际结果在form1中输入文本,form2无响应,调试过 执行过去了。。。求解
还有 如果用show()方法打开form2 哪么 form1和form2是否在同一线程内?