c#中如何对非模式对话框的设计
我的代码是这样的try{frModel.Show();}catch(Exceptionex){messageBox.Show(ex.message);}finally{f...
我的代码是这样的
try
{
frModel.Show();
}
catch(Exception ex)
{
messageBox.Show(ex.message);
}
finally
{
frModel.Dispose();
}
我一运行 点击一下 那个弹出对话框 结果 一闪就过去了
我把那个finall 给去掉后
结果又变了 是出现那个对话框 但是我在 这个对话框设计的时候 把它的属性 Startposition 设置为 centerparient 可是谭出来的时候是在 左上上角
而我用 frmMode。showdialog();
则会出现在中间
另外还有一个问题 我想设计这样的功能
我一点击一个Model 它就弹出一个对话框 我点击另外一个Model的时候 再 弹出一个对话框 当我点击同一个Model的时候如果开已经弹出来 就把原来的那个显示在最前面 要是开始没有弹出 那就弹出一个新的 这个要如何来设计 展开
try
{
frModel.Show();
}
catch(Exception ex)
{
messageBox.Show(ex.message);
}
finally
{
frModel.Dispose();
}
我一运行 点击一下 那个弹出对话框 结果 一闪就过去了
我把那个finall 给去掉后
结果又变了 是出现那个对话框 但是我在 这个对话框设计的时候 把它的属性 Startposition 设置为 centerparient 可是谭出来的时候是在 左上上角
而我用 frmMode。showdialog();
则会出现在中间
另外还有一个问题 我想设计这样的功能
我一点击一个Model 它就弹出一个对话框 我点击另外一个Model的时候 再 弹出一个对话框 当我点击同一个Model的时候如果开已经弹出来 就把原来的那个显示在最前面 要是开始没有弹出 那就弹出一个新的 这个要如何来设计 展开
4个回答
展开全部
对话框的显示有两个函数,一个是.show();另一个是.showDialog();第一个函数是以非模态对话框的形式显示,调完后会执行下面的函,当然会执行frModel.Dispose();所以弹出之后自动消毁了。改为第二个就是模态对话框了。要手动关闭
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
模态对话框你不可能点击出来多个的,如果要非模态的,就在FormLoad里面去设置Location吧
要显示最前的话,就是这样,把frModel作为全局变量,然后在frMdel.Show的前面加上
try
{
frModel.Focus();
return;
}
catch{}
要显示最前的话,就是这样,把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不能用。
Thread th = new Thread(() => { f1.ShowDialog(); });
th.Start();
使用线程去显示child窗口就可以了。
2、Thread th = new Thread(() => { Application.Run(new Form1()); });
th.Start();也可以这样。
在Form1里面弹出messageBox,mainForm依然可以用,Form1不能用。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有点糊涂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询