C#多线程中ShowDialog()方法无效

零-点 2013-03-31 12:38:47
 
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()显示并不是模式窗体,如何解决这种情况???
...全文
568 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
this.Invoke(some delegate);//同步 or this.BeginInvoke(some delegate);//异步
threenewbee 2013-03-31
  • 打赏
  • 举报
回复
我的天,多线程访问界面应该使用Control.Invoke委托让UI线程自己做,难道这个都不知道?
stonespace 2013-03-31
  • 打赏
  • 举报
回复
非UI线程不能打开窗口,

110,502

社区成员

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

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

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