日期:2014-05-17  浏览次数:21047 次

Winform 如何让两上窗体同时在最前
如题,有两个窗体,窗体A和窗体B,窗体B是从窗体A中的一个按钮打开的,请问,如何让这两个窗体同时在前,并且窗体A一直在窗体B的上面,如下图,欢迎大家发言,顶帖有分!!!

Winform

------解决方案--------------------
不可能的事情, 违反基本规则啊.
------解决方案--------------------
同时在前,到底哪个在前?
------解决方案--------------------
如何让这两个窗体同时在前,并且窗体A一直在窗体B的上面
=============又要同时在前,又要A在B上面,不懂
------解决方案--------------------
问世间"同时在前"为何物??
------解决方案--------------------
你在Windows系统里能做到嘛?

------解决方案--------------------
把两上窗体的TopMost都设为true
------解决方案--------------------
窗体A的TopMost设成true,然后在窗体A中打开窗体B时用非模态方式。
------解决方案--------------------
把两上窗体的TopMost都设为true,并且使窗体A始终处于活动状态。也就是说,只要窗体B活动,就必然马上引发窗体A活动。

------解决方案--------------------
用API,设置一下TOP。如果窗B得到聚焦时,再次设置一下A 置顶,注意是再次
------解决方案--------------------
A,B窗体的topmost属性都设置为true,然后在B中通过showdialog方法弹出A,这样行不行
------解决方案--------------------
在窗口A的btn1_Click事件处理程序中:

FormB frmb = new FormB();
this.Owner = frmB;
this.TopMost = true;
frmB.TopMost = true;
frmB.Show();

就是你想要的效果

注:如果窗口A是主窗体,frmB关闭时,程序照样退出
------解决方案--------------------
楼上正解 +1 
------解决方案--------------------
11L方法的可以试试。
------解决方案--------------------
只要A是B的所有者,B就可以始终在A的上面。

Form a = new Form(), b = new Form();

a.Show();
b.Show(a);   // Show(IWin32Window)