当前位置: 代码迷 >> .NET分析设计 >> winform窗体之间的显示前后有关问题
  详细解决方案

winform窗体之间的显示前后有关问题

热度:244   发布时间:2016-05-01 22:32:10.0
winform窗体之间的显示前后问题
我在窗体Form1上点击“打开新窗体”按钮,打开了窗体Form2,如下图


我的需求是:
1.操作窗体Form2的同时,也可以操作窗体Form1,所以我用Show()而不是ShowDialog()打开窗体Form2.
2.需要保证窗体Form2一直在窗体Form1前面,之前我将Form2的属性TopMost=true,但发现Form2是显示在最前端,打开其他应用程序窗体或浏览器时,它也是显示在最前面,我需要的是Form2显示在Form1前面,不需要显示在其他应用程序的窗体前面。

网上找不到例子,很困扰!求各路大神施救!!!


------解决思路----------------------
不论是桌面还是网页,或者手机APP,我们招聘人的时候,如果找一个业余人员临时应付一下,那么可能就让他写一个窗体或者页面就行了。而招聘程序员,就是让他写的“局部”可插拔的组件的(可以随时被包含到其它的组件或者窗体中)。

一看习惯,是从“窗体、页面”角度去设计程序的,还是从“控件、插件”的角度的,这是业余开发人员跟专业开发人员的基本区别。
------解决思路----------------------
写用户控件,或者将弹出窗体作为MDI子窗体嵌入主窗体内部
------解决思路----------------------
在form2的Show之前设置它的Owner属性为form1,或者使用Show方法带一个参数的重载,值是form1。
这样构建了form之间的层级关系,子级的form不会显示在父级之后。
你给的例子就是因为它调用的.Show(this)方法把自己设置为子窗体的父级。
  相关解决方案