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的时候如果开已经弹出来 就把原来的那个显示在最前面 要是开始没有弹出 那就弹出一个新的 这个要如何来设计
展开
 我来答
悉仲zk
2009-08-30 · 超过26用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:69.7万
展开全部
对话框的显示有两个函数,一个是.show();另一个是.showDialog();第一个函数是以非模态对话框的形式显示,调完后会执行下面的函,当然会执行frModel.Dispose();所以弹出之后自动消毁了。改为第二个就是模态对话框了。要手动关闭
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2009-08-30 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1393万
展开全部
模态对话框你不可能点击出来多个的,如果要非模态的,就在FormLoad里面去设置Location吧
要显示最前的话,就是这样,把frModel作为全局变量,然后在frMdel.Show的前面加上
try
{
frModel.Focus();
return;
}
catch{}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
糖糖寳寳
推荐于2018-05-01 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3923万
展开全部
  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不能用。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
江小右
2009-08-30 · TA获得超过6928个赞
知道小有建树答主
回答量:1195
采纳率:0%
帮助的人:827万
展开全部
有点糊涂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式