对话框的显示有两个函数,一个是.show();另一个是.showDialog();第一个函数是以非模态对话框的形式显示,调完后会执行下面的函,当然会执行frModel.Dispose();所以弹出之后自动消毁了。改为第二个就是模态对话框了。要手动关闭
模态对话框你不可能点击出来多个的,如果要非模态的,就在FormLoad里面去设置Location吧
要显示最前的话,就是这样,把frModel作为全局变量,然后在frMdel.Show的前面加上
try
{
frModel.Focus();
return;
}
catch{}
1、Form1 f1 = new Form1();
Thread th = new Thread(() => { f1.ShowDialog(); });
th.Start();
使用线程去显示child窗口就可以了。
2、Thread th = new Thread(() => { Application.Run(new Form1()); });
th.Start();也可以这样。
在Form1里面弹出messageBox,mainForm依然可以用,Form1不能用。
有点糊涂