.NET中如何让以前打开的窗体在鼠标click后显示在最前面?
请教各位大侠:我在.NET中写了一个程序,主界面frmMain用菜单窗体形式,
其中从菜单menuMain中选择可以将Form1窗体显示在主界面的菜单框架下,
另外从其他菜单选择可打开若干独立窗体Form2等。
但是问题在于:
(1)先点menuMain打开Form1,然后再打开Form2
或者(2)先打开Form2,再点menuMain打开Form1
不论以上两种执行顺序的哪一种情况下,用鼠标点击Form1的任一个地方,
让Form1获得焦点,但是Form1始终处于Form2的后面,导致Form1的很多部分
被Form2掩盖掉。
我看了一下,frmMain,Form1,Form2的.SetTopMost属性 = False,这就很让人疑惑。
有哪位高手,可否给与指点迷津:如何让鼠标点到哪个窗体,就让该窗体显示在最前面,
而不被其他窗体掩盖掉?
--------------------编程问答-------------------- frm.BringToFront(); --------------------编程问答-------------------- 在Form1_Focus()中写该语句吗?
还需要设置.NET窗体中的什么属性吗?
CauseInvalidate 做什么用的?
还有一个属性,好像有Inherit,Disable,EnablePreventFocusChange,EnableAllowFocusChange四个值可选,
做什么用的?
--------------------编程问答-------------------- 感觉好像你两个窗口Show出来的方式不同,以及Owner属性不同。
--------------------编程问答-------------------- 楼上说Owner属性,在哪里设置?
menuMain是mdiForm形式的,Form1确实是其子窗体;
而Form2是独立窗体。
不过Form1,Form2都是用Form.Show()方法显示啊; --------------------编程问答-------------------- 把你的form1和form2的FormborderStyle设成FixedDialog试试
补充:.NET技术 , VB.NET