C# WinForm ShowDialog 两次

privatevoidsubmitForm_Activated(objectsender,EventArgse){loginFormsf=loginForm.getLog... private void submitForm_Activated(object sender, EventArgs e)
{
loginForm sf = loginForm.getLoginForm(3);//窗体离开时间超过3秒进行验证,loginForm内处理。
sf.ShowDialog();//标记1
}//标记2
调试的时候怎么看着从标记1到标记2,然后会再一次到标记1?
3秒后激活窗体,结果主窗体不显示,显示弹出窗,在任务栏点主窗体后,就会弹出两个sf,但是一个sf是另一个的字窗体,下图:
两个loginForm并不都是最后一个的字窗体
展开
 我来答
网上冲浪玩家
2012-02-08 · TA获得超过574个赞
知道小有建树答主
回答量:535
采纳率:100%
帮助的人:344万
展开全部
具体问题出现在哪里这些代码是看不出来的,不过根据这些代码我给出一个解决方案,试试看吧,也不一定能解决你的问题:
loginForm sf =new loginForm();//在方法外面声明一个登录框
private void submitForm_Activated(object sender, EventArgs e)
{
sf.close();//进入此方法就执行下关闭,如果能判断该窗体是显示还是关闭状态的话就加个判断:如果是打开状态再执行关闭
sf= loginForm.getLoginForm(3);//窗体离开时间超过3秒进行验证,loginForm内处理。
sf.ShowDialog();//标记1
}//标记2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
N_0_1
高粉答主

推荐于2016-12-04 · 关注我不会让你失望
知道大有可为答主
回答量:8628
采纳率:47%
帮助的人:846万
展开全部
以下两种方式可以用show的方法打开新窗体,并且在关闭的时候不释放
(一)
protected override void OnClosing(CancelEventArgs e)
{
e.Cancel = true;
this.Hide();
}
(二)
protected override void Dispose(bool disposing)
{
//if (disposing && (components != null))
//{
//components.Dispose();
//}
//base.Dispose(disposing);
Hide();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jacky_xue
2012-02-03 · TA获得超过114个赞
知道小有建树答主
回答量:228
采纳率:100%
帮助的人:140万
展开全部
你这个写法有问题,还有你需要在弹出窗体之前先进行判断,是否窗口已开,showdialog()是有返回值的,你可以设个断点查看下!具体的还是要你自己进行debug才能找出来!
更多追问追答
追问
在其他地方没有使用过 loginForm.ShowDialog()  ,怎么还需要判断?showdialog()返回值我不需要,就是一个登陆窗体,在loginForm里面判断,如果登陆过就会自己Dispose() 。
追答
窗体初始化时,会自动将主窗体激活,一般会同时激活窗体事件,当你鼠标点击时会再次激发!还有按道理说窗体弹出后会无法点击主窗体,但你有延时操作,so......不知道是不是这个给你带来困扰?具体的还要细心分析!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哥只是传说391
2012-02-03
知道答主
回答量:8
采纳率:0%
帮助的人:4万
展开全部
private void submitForm_Activated(object sender, EventArgs e)
{
loginForm sf = loginForm.getLoginForm(3);//窗体离开时间超过3秒进行验证,loginForm内处理。
sf.ShowDialog();//标记1
}//标记2
调试的时候怎么看着从标记1到标记2,然后会再一次到标记1?
3秒后激活窗体,结果主窗体不显示,显示弹出窗,在任务栏点主窗体后,就会弹出两个sf,但是一个sf是另一个的字窗体,下图:问题补充:

两个loginForm并不都是最后一个的字窗体
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式