社区
C#
帖子详情
C# 子窗口显示问题
rubperfect
2010-01-16 10:57:54
我在MDI的主窗口中添加了treeview,textbox,picturebox等控件
我在一个click事件中show()了子窗口
但是发现子窗口是被覆盖在treeview,picturebox这些控件的下面的
请问如何让这个子窗口现在到这些控件的上面来呢??
都找不到相关的解答。。
...全文
3026
61
打赏
收藏
C# 子窗口显示问题
我在MDI的主窗口中添加了treeview,textbox,picturebox等控件 我在一个click事件中show()了子窗口 但是发现子窗口是被覆盖在treeview,picturebox这些控件的下面的 请问如何让这个子窗口现在到这些控件的上面来呢?? 都找不到相关的解答。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
61 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
天或
2012-10-28
打赏
举报
回复
看完这个贴,就知道那种被遮住了,是没办法弄的,就得出一个这样的结果,或者是我还没有发现
你的名字2018
2012-08-30
打赏
举报
回复
友情帮顶
这个问题解决了没有啊?
我也遇到了,试了很多种方法
有的基本能达到效果,但是会失去MDI特性
比较杯具啊
46楼方法 和 52 楼、53楼方法,简单测试了下,有会下面几个问题:
1.最小化子窗体后,该子窗体不能还原;
2.子窗体间不能切换;
3.会失去 MDI 窗体特性,例如:MdiChildActivate 事件失效。
你的名字2018
2012-08-30
打赏
举报
回复
友情帮顶
这个问题解决了没有啊?
我也遇到了,试了很多种方法
有的基本能达到效果,但是会失去MDI特性
比较杯具啊
46楼方法 和 52 楼、53楼方法,简单测试了下,有会下面几个问题:
1.最小化子窗体后,该子窗体不能还原;
2.子窗体间不能切换;
3.会失去 MDI 窗体特性,例如:MdiChildActivate 事件失效。
wlgcao
2012-05-21
打赏
举报
回复
53楼太强了,一个上午的问题终于解决了
happy04110411
2012-05-18
打赏
举报
回复
53楼的问题是解决了, 但是还有个问题, 就是该方法打开的子窗体看上去不是被激活的状体,而且最小化的时候也不对,正常的MDI子窗体是被激活状体,最小化的时候会放到父窗体的左下角。
这个问题能给解决一下吗????
jfdsies
2011-05-07
打赏
举报
回复
虽然暂时用不上~但难保以后会用不上~
于是学习学习的说~谢谢分享。
dcnbchd
2011-02-10
打赏
举报
回复
53楼很强!
laomengzi
2010-08-14
打赏
举报
回复
我也遇到这个问题!用了53楼的方法解决了
lusian_download004
2010-08-03
打赏
举报
回复
楼主,以下是我用的办法:
private void button1_Click_1(object sender, EventArgs e)
{
Form myChildForm = new Form();
myChildForm.Width = 400;
myChildForm.Height = 300;
myChildForm.TopLevel = false;
this.Controls.Add(myChildForm);
myChildForm.Visible = true;
myChildForm.BringToFront();
}
我就是把“子窗口”的TopLevel设置为false,让它不再是顶级窗口;
然后把“子窗口”加到“父窗口”当中,也就是这句:this.Controls.Add(myChildForm);
接下来把“子窗口”调为“可见”,然后再调用“子窗口”的BringToFront()方法
我这样就成功了,仅供参考。
startdo
2010-05-19
打赏
举报
回复
楼主,我找到个完美解决办法,我也是遇到这个困惑,找了好多方法,都不行
今天灵机一动,换个思路就能实现这个效果
其实我们的目的是主窗口上显示一些信息,一进系统就看得到,但是开子窗口后要把这个东西压掉。
由于mid窗口的特性,直接上是不行的。
我换了个方法,把要显示在主窗口的信息当做一个子窗口(frmWelcome),主窗口显示时反它打开,如下:
frmWelcome frmWelcome = new frmWelcome();
frmWelcome.MdiParent = this;
frmWelcome.FormBorderStyle = FormBorderStyle.None;
frmWelcome.WindowState = FormWindowState.Normal;
frmWelcome.Show();
为自己这么好的想法喝彩!!!
amdiqpl
2010-04-12
打赏
举报
回复
楼上using System.Runtime.InteropServices; [DllImport("user32")]方法虽是可以让子窗口显示在有控件的主窗口之上;但不能在打开的多个子窗口之间切换。
rubperfect
2010-01-25
打赏
举报
回复
[Quote=引用 46 楼 hululuzhu 的回复:]
解决了:
using System.Runtime.InteropServices;
[DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);
//价格temp2是你的子form
temp2.MdiParent = this;
temp2.Show();
SetParent((int)temp2.Handle, (int)this.Handle);
[/Quote]
强的。。。这样就可以了!
cfansw
2010-01-21
打赏
举报
回复
公司招聘高级C#工程师
3年以上C#.NET技术路线经验(开发、分析、设计)、1年以上的软件系统设计经验,熟悉UML建模,
珠海政采软件技术有限公司北京分公司
地址:北京市海淀区中关村软件园
网址:http://www.gpcsoft.com
邮箱:wangyq@gpcsoft.com;evalywang99@yahoo.com.cn
cfansw
2010-01-21
打赏
举报
回复
顶
缭绕飘渺
2010-01-21
打赏
举报
回复
楼主真有个性
在父窗口上放那些控件有必要吗
hululuzhu
2010-01-21
打赏
举报
回复
解决了:
using System.Runtime.InteropServices;
[DllImport("user32")]
public static extern int SetParent(int hWndChild, int hWndNewParent);
//价格temp2是你的子form
temp2.MdiParent = this;
temp2.Show();
SetParent((int)temp2.Handle, (int)this.Handle);
sunchen891229
2010-01-21
打赏
举报
回复
路过,学习了~
dell0923
2010-01-21
打赏
举报
回复
是你对MDI的理解错误了,不要给MainForm添加除了上面菜单、工具栏以外地方添加控件。
你设计中的那个控件,也应该是一个ChildrenForm的内容,只是你感觉这个ChildrenForm像是其他ChildrenForm的入口。但是他们应该是平行的。
spmzfz
2010-01-20
打赏
举报
回复
我来帮楼主回答,请楼主包涵:
[Quote=引用 26 楼 sammyke1 的回复:]
那你把其他的Toplevel = false;不行吗?
[/Quote]
2008 MSDN SP1 :
Toplevel 是获取或设置一个值,该值指示是否将窗体显示为顶级窗口。多文档界面 (MDI) 父窗体必须是顶级窗口。顶级窗体是没有父窗体的窗口,或者其父窗体是桌面窗口。顶级窗口通常用作应用程序中的主窗体。
因此.Toplevel = false 在这里不起作用。
[Quote=引用 27 楼 liherun 的回复:]
form2.BringToFront();
[/Quote]
.BringToFront(); 好像也不起作用 ,郁闷。。。
liherun
2010-01-20
打赏
举报
回复
form2.BringToFront();
加载更多回复(41)
C#
把MDI
子
窗体变为标签页面(不改写任何控件)
利用TabControl实现MDI
子
窗体标签式
显示
。
C#
Winform界面布局设计(左侧菜单)右侧
窗口
操作
开发语言
C#
,.net环境下。
C#
Winform界面布局设计(左侧菜单)右侧
窗口
操作。以前做ERP设置的自定义控件。很好用。
tabcontrol动态生成选项卡,并添加窗体
c#
tabcontrol动态生成选项卡,并添加窗体
C#
串口通信源码
C#
串口通信源码,适合测试使用,也可以用于PC。
C#
写的仿照Windows资源管理器的小程序:File Explorer(含代码)
C#
写的小程序File Explorer,仿照Windows资源管理器。 基本功能都已实现。
C#
111,088
社区成员
642,552
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章