【发布时间】:2012-03-23 22:03:37
【问题描述】:
我有这个窗体,timer1 已启用,它的间隔设置为 2000 毫秒。
为什么表单每 2 秒显示一个消息框?我的意思是,当第一次调用 UI 线程的计时器滴答声时,会等到按下 OK 按钮,所以如果我不按下按钮,那么不应该出现另一个消息框。但它出现了!为什么?
我知道计时器在它自己的线程上工作,并且计时器在其间隔上调用 timer_tick 函数,问题是当 UI 线程在 mbox.show() 上被阻塞时如何显示另一个消息框?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show("test");
}
}
【问题讨论】:
标签: .net winforms multithreading timer