
C#窗体的一个置顶问题 50
我设置一个按钮点击之后弹出另外一个窗体然后关闭新窗体后旧窗体自然而然获得焦点但是有一定几率会在其他窗体的后面(相当于是置于底层)代码大概:按钮点击事件{Formf=一个新...
我设置一个按钮 点击之后 弹出另外一个窗体 然后关闭新窗体后
旧窗体自然而然获得焦点
但是有一定几率会在其他窗体的后面(相当于是置于底层)
代码大概:
按钮点击事件{
Form f=一个新窗体
f.ShowDialog(this);显示窗体
}
在新窗体F中 有一个按钮 按钮被按之后 调用Hide();隐藏新窗体
接下来就回到了旧窗体 旧窗体依旧有获得焦点
但是旧窗体有一定几率位于所有窗体的底层
(真的是有一定几率 大概5次有1次 会这样)
如图 Form1有焦点 但是窗体没有在最顶层 要重新最小化再最大化才有效果.
求大神解决.
可以的话 解释一下原因 和提供解决办法 展开
旧窗体自然而然获得焦点
但是有一定几率会在其他窗体的后面(相当于是置于底层)
代码大概:
按钮点击事件{
Form f=一个新窗体
f.ShowDialog(this);显示窗体
}
在新窗体F中 有一个按钮 按钮被按之后 调用Hide();隐藏新窗体
接下来就回到了旧窗体 旧窗体依旧有获得焦点
但是旧窗体有一定几率位于所有窗体的底层
(真的是有一定几率 大概5次有1次 会这样)
如图 Form1有焦点 但是窗体没有在最顶层 要重新最小化再最大化才有效果.
求大神解决.
可以的话 解释一下原因 和提供解决办法 展开
3个回答
展开全部
private void button1_Click(object sender, EventArgs e)
{
Form2 frm=new Form2();
frm.ShowDialog();
frm.VisibleChanged += frm_VisibleChanged;
}
void frm_VisibleChanged(object sender, EventArgs e)
{
this.Show();
}
给frm的visiblechanged事件,加个让旧窗体再show一下就可以了
展开全部
在show的时候设置窗口置于顶层FORM.TopMost=true
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用windowsAPI函数将窗体放到最前面
更多追问追答
追问
给函数名称啊
50分就换您这句话?
追答
先用Findwindow,再用ShowWindow
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询