请教一个多线程的小问题

popnet 2009-12-29 11:28:06
public partial class Form1 : Form
{
Thread myThread = null;
public Form1()
{
InitializeComponent();
Form1.CheckForIllegalCrossThreadCalls = false;
myThread = new Thread(new ThreadStart(myThreadEvent));
myThread.Start();
}

public void myThreadEvent()
{
while (true)
{
textBox1.Text += "myThread is running!\n";
Thread.Sleep(500);
}


}
private void button1_Click(object sender, EventArgs e)
{
Thread.Sleep(3000);
}
为什么单击button之后没有显示"myThread is running!"

实在不明白 大家帮忙解释下,先谢过了。
...全文
108 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jave.Lin 2009-12-29
  • 打赏
  • 举报
回复
public partial class Form1 : Form 
{
Thread myThread = null;
public Form1()
{
InitializeComponent();
Form1.CheckForIllegalCrossThreadCalls = false;

}

public void myThreadEvent()
{
while (true)
{
textBox1.Text += "myThread is running!\n";
Thread.Sleep(500);
}


}
private void button1_Click(object sender, EventArgs e)
{
myThread = new Thread(new ThreadStart(myThreadEvent));
myThread.Start();
}
m_struggle 2009-12-29
  • 打赏
  • 举报
回复
你要单击响应的话,改到单击事件里实现
yilinkit 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hhc123 的回复:]
C# codepublic Form1()
{
InitializeComponent();
Form1.CheckForIllegalCrossThreadCalls=false;
myThread=new Thread(new ThreadStart(myThreadEvent));
myThread.Start();
}已经在构造里了还用得着单击吗
[/Quote]
就是,你要单击响应的话,改到单击事件里实现三
hhc123 2009-12-29
  • 打赏
  • 举报
回复
Thread.Sleep(3000); //你要等一下才会出现,你要等不了设成1000啊
kensouterry 2009-12-29
  • 打赏
  • 举报
回复
改到Console里面去检查吧!直观一些
hhc123 2009-12-29
  • 打赏
  • 举报
回复

public Form1()
{
InitializeComponent();
Form1.CheckForIllegalCrossThreadCalls = false;
myThread = new Thread(new ThreadStart(myThreadEvent));
myThread.Start();
}

已经在构造里了还用得着单击吗
rainsnowclowd 2009-12-29
  • 打赏
  • 举报
回复
我在机子上尝试是可以显示的,没设我说的那个值。。呵呵 ,反正设了肯定行的
rainsnowclowd 2009-12-29
  • 打赏
  • 举报
回复
這裡是線程的同步問題
这样写的线程是同步现成,就是说如果你的Thread没有执行完事不会回到form的页面刷新中去的,你也就看不到显示的字了
你可以设置下
myThread.IsBackground = true;

这样主线程和myThread就可以异步进行了。。

wt_jn 2009-12-29
  • 打赏
  • 举报
回复
textBox1.Text += "myThread is running!\n";
这句应该用代理作

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧