C#多线程中ShowDialog()方法无效
private void Form1_Load(object sender, EventArgs e)
{
Thread thread = new Thread(remind);
thread.IsBackground = true;
thread.Start();
}
private void remind()
{
while (true)
{
string h = "0";
string m = "23";
if (h == DateTime.Now.Hour.ToString() && m == DateTime.Now.Minute.ToString() && DateTime.Now.Second.ToString() == "0")
{
Form2 form2 = new Form2();
form2.ShowDialog();
Thread.Sleep(1000);
}
}
}
form2的ShowDialog()显示并不是模式窗体,如何解决这种情况??? 多线程中ShowDialog()方法无效
[解决办法]
http://msdn.microsoft.com/zh-cn/library/0b1bf3y3(v=vs.100).aspx
[解决办法]
非UI线程不能打开窗口,
[解决办法]
我的天,多线程访问界面应该使用Control.Invoke委托让UI线程自己做,难道这个都不知道?
[解决办法]
this.Invoke(some delegate);//同步
or
this.BeginInvoke(some delegate);//异步