C# MDI 子窗体被父窗体控件挡住

mbridge 2009-03-08 04:08:02
父窗体中有Panel控件(panel上放置别的有用的控件),打开子窗体后,子窗体却会被这个Panel挡住.请问有什么解决方法吗?

我试了几种方法都不行,这些控件就像是贴在显示器上的纸片一样,不管子窗体怎么top,都被他挡在后面...

注:子窗体的TopMost 已经设为true,Panel置于底层也不行,另外定义一个Panel用来作为子窗体的容器也不行,因为子窗体还需要移动.

请高手不吝赐教吧~!
...全文
1075 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
天或 2012-11-01
  • 打赏
  • 举报
回复 2
using System.Runtime.InteropServices;

[DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);

Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Show();
SetParent((int)f2.Handle, (int)this.Handle);
方法有效。mark
感谢 liujianghongcc
Terence_c 2012-09-06
  • 打赏
  • 举报
回复
不知道LZ解决没有,分享一下,我也正碰到这种问题,帮顶
你的名字2018 2012-08-30
  • 打赏
  • 举报
回复
友情帮顶,这个问题解决了没有啊?
我也遇到了,试了很多种方法
有的基本能达到效果,但是会失去MDI特性
比较杯具啊
烙饼 2011-08-04
  • 打赏
  • 举报
回复
using System.Runtime.InteropServices;

[DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);

Form2 f2 = new Form2();
f2.MdiParent = this;
f2.Show();
SetParent((int)f2.Handle, (int)this.Handle);
hzairwolf 2010-04-16
  • 打赏
  • 举报
回复
刚提问了这个问题 发现这里还没有解决。。。
黄土大风 2009-11-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xu56180825 的回复:]
有办法解决。。你可以创建一个没有标题的FORM,其他不用我多说了吧:)
[/Quote]
那样也不行,创建的这个FORM会挡住其它的子窗体,我的意思是说,创建的这个FORM 需要总是在其它MDI子窗体的最后面显示,这点实现不了啊,
xu56180825 2009-08-24
  • 打赏
  • 举报
回复
有办法解决。。你可以创建一个没有标题的FORM,其他不用我多说了吧:)
mbridge 2009-03-10
  • 打赏
  • 举报
回复
见者有分,谢谢大家.
mbridge 2009-03-08
  • 打赏
  • 举报
回复
谢5楼!

不过,这好像是delphi的吧.
ClientPanel.Parent:=nil;
ClientPanel.ParentWindow:=Self.ClientHandle;

这两句话在c#中好像没有办法实现. panel没有ParentWindow这个属性.

如果只用第一句,改为才C# 中的this.panel1 .parent = this; panel还是挡住子窗体.
mbridge 2009-03-08
  • 打赏
  • 举报
回复
回2楼:
是winForm的.
mbridge 2009-03-08
  • 打赏
  • 举报
回复
父窗体不要放控件?请问什么意思,那么我的控件怎么办?另外定义一个from来存放吗?

"子窗体提供Panel的Parent "这句不太理解,请再详细解释一下可以吗?
zhangweisjz 2009-03-08
  • 打赏
  • 举报
回复
是Widows Form 还是 网页啊?
cnming 2009-03-08
  • 打赏
  • 举报
回复
父窗体不要放控件,或者给你的子窗体提供Panel的Parent

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧