子窗子显示在MDI主窗体panel控件之上

原创 2014年02月15日 14:25:33

       机房收费系统中,需要将子窗子显示在MDI主窗体panel容器控件之上。查了资料。大概网上有两种方法。一种是是可以将子窗体上的控件直接内嵌到panel控件之上,还有一种是子窗子显示在MDI主窗体panel控件之上。

现在总结一下。

Public Class setMDIChild
    '子窗体显示在MDI主窗体Panel控件之上
    Public Sub SetMDIChildFront(frm As Form, Panel1 As Panel)
        frm.TopLevel = False   '设置它的顶级为false
        frm.FormBorderStyle = Windows.Forms.FormBorderStyle.Sizable   '设置子窗体的边框风格
        frm.Parent = Panel1   '设置子窗体的父容器控件是panel控件
        frm.Show()  '子窗体显示
        frm.BringToFront()  '设置子窗体在最前面
    End Sub
    '子窗体上的控件内嵌到mdi主窗体panel控件之上 
    Public Sub setMDIchild(frm As Form, Panel1 As Panel)
        frm.FormBorderStyle = FormBorderStyle.None  '改变frmmain的边框风格,为无边框风格
        frm.TopLevel = False  '不将子窗体设置为顶级窗体
        Panel1.Controls.Add(frm)  '设置panel控件中控件集合应该包括frm子窗体
        frm.Show()
    End Sub
End Class
       通过这个需求的实现,感觉到知识学习是无穷尽,因为对于panel容器控件,自己也是第一次使用,所以这个知识对于自己而言是新的东西,面对这样无穷尽的新知识的学习,我要学会的站到一个高的位置上去抽象出这些学习这种新知识的方法,自己总结了一下方法:

1.学会去网上查询。

    去网上查自己想要的东西,不仅仅要依靠之前师哥师姐的博客,更要放宽自己的眼界,去学新的东西。

 2.学会使用MSDN。

    微软的msdn就像一个充满智慧的巨人,只要有问题,随便问他,他都能给你答案。尤其那些对于自己而言特别新的控件、方法、属性,去查一下msdn什么都会迎刃而解。站在这样一个巨人肩上,看到会更远。

3.学会总结

       不仅仅是要总结学习到的知识点,更要去通过学习知识点,总结升华思想上的东西。思想上的东西才是应对万变的其宗。

这些就是通过学习子窗子显示在MDI主窗体panel控件之上,收获的一些东西。


版权声明:欢迎转载,请注明出处

C# Winform MDI窗体,父窗体控件覆盖子窗体的解决办法

问题:MDI窗体中,父窗体控件会覆盖子窗体,网上很多解决方案表面上解决了问题,但失去了MDI窗体的基本特性,并不实用。比较赞成使用子窗体“代替”父窗体控件的方案。思路:不将控件放置在父窗体上,而是放在...
  • lj22377
  • lj22377
  • 2015年09月14日 15:37
  • 2220

C#-Mdi多文档窗口及其子窗口的排列 ---ShinePans

MdiLayout枚举成员及说明 Casecade s所有Mdi层叠在父窗口 TileHorizontal 水平平铺 TitleVertical 垂直平铺 Form...
  • panshang1994
  • panshang1994
  • 2014年04月20日 15:03
  • 3278

【机房重构】--Panel控件解决MDI窗体显示

问题:第一版机房收费系统在MDI窗体上添加了PictureBox控件,子窗体不显示,后来又运用了SetParent函数解决的。这次用了一个很好用的控件Panel,重构版的机房出现了同样的问题。作用:是...
  • YYZZHC999
  • YYZZHC999
  • 2017年06月11日 18:00
  • 392

MDI窗体与子窗体的显示问题--(如何让主窗体是被控件挡住的子窗体显示)

机房收费系统热火朝天的进行着,于此同时问题也是毫不留情的就来了,在MDI窗体中添加了picture控件后,子窗体不能显示就是我遇到的第一个问题。刚刚着手做系统遇到这样的问题,挺棘手的,当时在网上查过很...
  • yudandan10
  • yudandan10
  • 2012年10月08日 08:18
  • 5758

C# Winform 左侧菜单右边显示、子窗体显示在主窗体(子窗体当控件添加到Panel)

 Winform 也可以像网站一样左侧显示菜单右边显示点击菜单的子窗体(网页),不过子窗体不能直接显示在主窗体中,因为窗体不是控件。那么能不能把窗体设置为控件?答案是肯定的,只要把窗体的 Doc...
  • xsfqh
  • xsfqh
  • 2015年01月23日 17:58
  • 4913

C#中主窗体Panel中加载其他多个窗体Panel控件

今天在技术群里,笔者遇到一个这样的问题,“有客户想让两个Form窗体的内容放到一个Form窗体中,但是两个窗体的内容超出主窗体的大小”,为了解决这个问题,笔者的想法是“采用panel+滑动条方式解决以...
  • lgh0824
  • lgh0824
  • 2017年07月06日 22:19
  • 444

【C#】MDI窗体中,将子窗体置于父窗体控件之上的方法

问题 这几天在优化程序的时候发现了一个问题,就是在MDI窗体中的子窗体被激活显示出来之后,总是被主窗体中的控件遮挡(各种控件)。解决的方法也试了很多但是都不是很满意,由于C#的WINFROM窗体没...
  • SugaryoTT
  • SugaryoTT
  • 2016年05月08日 16:03
  • 2214

C#中主窗体Panel中加载其他多个窗体Panel控件

  • 2017年07月06日 22:18
  • 68KB
  • 下载

机房收费中Panel控件解决子父窗体显示

个人版机房中开始没有考虑子父窗体的设置问题,这样出现什么问题,如果将主窗体关闭,而你的打开窗体仍不会关掉,这是肯定不允许的,网上查了一下,还挺容易,(代码)但是这样的结果是子窗体被父窗体控件覆盖,怎么...
  • u010097777
  • u010097777
  • 2014年10月01日 19:58
  • 1460

伪主窗体使MDI窗体后显示

  • 2010年08月25日 15:31
  • 14KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:子窗子显示在MDI主窗体panel控件之上
举报原因:
原因补充:

(最多只允许输入30个字)