首页新闻找找看学习计划

多线程与委托问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-06-19 19:50

目的: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是否在同一线程内?

悠久的蒸汽机关的主页 悠久的蒸汽机关 | 初学一级 | 园豆:157
提问于:2013-06-19 19:19
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册