winform 多线程中ShowDialog()无效的解决办法

在使用Winform开发的过程,不可避免的要使用多线程,其中会在多线程中会调用窗口的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()显示并不是模式窗体,如何解决这种情况???

Form2 form2 = new Form2();
form2.ShowDialog(this);

 

这个方法你可以试试看。

 

出处:https://www.cnblogs.com/zfanlong1314/p/3977443.html

转载于:https://www.cnblogs.com/mq0036/p/10796367.html

你可能感兴趣的:(winform 多线程中ShowDialog()无效的解决办法)