public static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
SMSFrmLogin login =new SMSFrmLogin();//第一个窗体
if(login.ShowDialog()== DialogResult.OK ) // 为什么这条件成立第一个窗体就消失了呢?
{
Application.Run(new Form1()); //主窗体
}
}
C#窗体的主窗体和子窗体关系
答案:2 悬赏:50
解决时间 2021-02-19 23:39
- 提问者网友:芷芹
- 2021-02-19 12:16
最佳答案
- 二级知识专家网友:零负荷的放任
- 2021-02-19 13:42
第一个窗体就消失的关键在于DialogResult.OK这个值,这是因为你的那个窗口设置了AcceptButton 为你的登录按钮,这个会自动关闭窗口的,其返回结果为DialogResult.OK
全部回答
- 1楼网友:颜值超标
- 2021-02-19 15:15
如果是从programs中生成的主窗体,主窗体不能关闭,因为那样会退出程序,可以使用我这个方法,在主窗体的form_closed事件中添加如下代码:
this.hide();
将主窗体隐藏来实现关闭;
再次打开时,使用主窗体的变量来打开:
frmmain.show();
当然要在子窗体中定义主窗体的变量:
frmmain frmmain;
如果主窗体没有打开时想要关闭子窗体,在子窗体的form_closed事件中使用如下代码:
application.exit(); //这样会退出整个程序,而不只是关闭子窗体
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯