VB.NET设置控件和窗体的显示级别
前言:在用VB.NET开发射频检测系统ADS时,当激活已存在的目标MDI子窗体时,被其他子窗体遮住了,导致目标MDI子窗体不能显示。
这个问题怎么解决呢?网上看到一篇帖子VB.NET设置控件和窗体的显示级别,总结得挺不错的。现转载过来,以备后用。
解决方案:
1)使用Controls属性将子窗体作为子控件显示到Panel等的所有子控件最前方
有些控件可以作为容器使用如类似Panel、PictureBox等的控件,在向容器控件中加入其它控件时,这些子控件组合到一起成为一个控件集合,在这个控件集合中每个控件都有各自显示的顺序。下面我们拿Panel来举例(其它容器控件的方法相同)。
为了显示到Panel前我们可以使用Controls属性,将子窗体作为Panel的子控件显示。具体实现代码如下:
Private Sub frmQryBalance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.TopLevel = False
frmMain.Panel1.Controls.Add(Me)
frmMain.Panel1.Controls.SetChildIndex(Me, )
frmMain.Show()
End Sub
上面的Add方法将frmQryBalance窗体作为子控件显示到了Panel中,SetChildIndex方法是设置子窗体的显示顺序,0是将该窗体显示到所有子控件最前方。
2)使用Parent属性将子窗体作为子控件显示到Panel等的所有子控件最前方
代码如下:
Private Sub frmQryBalance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.MdiParent = frmMain
Me.Parent = frmMain.Panel1
Me.BringToFront()
Me.Show()
End Sub
BringToFront是将控件移到 Z 顺序的前面。BringToFront 不会使一个控件成为顶级控件。
与BringToFront方法相反的一个方法名为SendToBack方法。将控件移到 Z 顺序的后面。如果控件为顶级控件,除非该控件为活动状态,否则此方法将无法正确运行。 顶级控件是类似 Form 的控件,它不是另一个控件的子控件。 活动控件是具有输入焦点的可见控件。 若要对非活动的顶级控件使用 SendToBack 方法,首先要对该控件调用 BringToFront 方法。
3)调用API方法SetParent
在Visual Basic .Net中使用“平台调用”服务,申明Windows API函数主要有二种具体的实现方法:①使用DllImport特征类来申明Windows API函数。②使用“Declare”语句来申明Windows API函数。这两种方法虽有异曲同工之效,但在繁简上却有很大差异,第一种方法申明过程比较复杂,很容易在申明Windows API函数时出错,所以并不提倡。而第二种方法相对简单,并且又保留了以前Visual Basic中的很多语法,所以大都使用这种方法来申明Windows API函数。
具体实现方法如下:
Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Sub frmQryBalance_Load(sender As Object, e As EventArgs) Handles MyBase.Load
setparent me frmMain.Panel1
End Sub
参考链接:http://blog.csdn.net/zhang_xinxiu/article/details/8888510
VB.NET设置控件和窗体的显示级别的更多相关文章
- js设置控件的隐藏与显示的两种方法
js设置控件的隐藏与显示,设置控件style的display和visibility属性就可以了,下面有个示例,需要的朋友可以参考下用JavaScript隐藏控件的方法有两种,分别是通过设置控件的sty ...
- Python3 tkinter基础 Label pack 设置控件在窗体中的位置
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 基于VB中WINSOCK控件的网上象棋系统的实现
本文发表在<微型机与应用>杂志2001年第3期. 基于VB中WINSOCK控件的网上象棋系统的实现 马根峰1 , 孙艳2 , 王平1 (1.重庆邮电学院自动化学院,重庆,40006 ...
- Winform 窗体控件随窗体自动(等比例)调整大小
新建窗体程序了,添加窗体事件Load(加载窗体时).Resize(调整控件大小时).自定义方法setTag(获取控件的width.height.left.top.字体大小等信息的值).setContr ...
- C#里WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变(转)
在设计可供用户调整大小的窗体时,如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大小并且能重新定位?此时就要借助控件的.Anchor属性.Anchor属性定义控件的定位点位置.当控件锚定到某个 ...
- c# 设置控件的前景颜色和背景颜色
AutoSize:设置为false取消自动计算尺寸功能,控件的大小则按照设定的Size来呈现,设置为true自动计算大小 TextAlign:设置对齐方式 // // 摘要: // 用默认的所有者运行 ...
- winform groupbox控件放到窗体中间位置
1. 在Form中放一个控件,让其在启动时始终居中 int gLeft = this.Width / 2 - groupControl1.Width / 2; int gTop = this.Heig ...
- WPF中通过代码设置控件的坐标
用WPF做贪吃蛇小游戏时,发现了一个问题: 贪吃蛇的移动,我是通过不断刷新Rectangle来实现(贪吃蛇的身体由一组Rectangle组成),因此需要不断调整Rectangle的坐标,但是WPF中没 ...
- Android线程中设置控件
在Android中经常出现多线程中设置控件的值报错的情况,今天教大家封装一个简单的类避免这样的问题,同样也调用实现也非常的方便. 自定义类: /** * Created by wade on 2016 ...
随机推荐
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- 02.SQLServer性能优化之---牛逼的OSQL----大数据导入
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http ...
- 缓存工厂之Redis缓存
这几天没有按照计划分享技术博文,主要是去医院了,这里一想到在医院经历的种种,我真的有话要说:医院里的医务人员曾经被吹捧为美丽+和蔼+可亲的天使,在经受5天左右相互接触后不得不让感慨:遇见的有些人员在挂 ...
- java单向加密算法小结(1)--Base64算法
从这一篇起整理一下常见的加密算法以及在java中使用的demo,首先从最简单的开始. 简单了解 Base64严格来说并不是一种加密算法,而是一种编码/解码的实现方式. 我们都知道,数据在计算机网络之间 ...
- 基于window7+caffe实现图像艺术风格转换style-transfer
这个是在去年微博里面非常流行的,在git_hub上的代码是https://github.com/fzliu/style-transfer 比如这是梵高的画 这是你自己的照片 然后你想生成这样 怎么实现 ...
- iOS UITableView 与 UITableViewController
很多应用都会在界面中使用某种列表控件:用户可以选中.删除或重新排列列表中的项目.这些控件其实都是UITableView 对象,可以用来显示一组对象,例如,用户地址薄中的一组人名.项目地址. UITab ...
- kali linux下的arp攻击
这是我第一篇博客,写的不好请谅解 ____________________________(分割线)_______________________________ 在kali linux系统下自带工具 ...
- DevOps对于企业IT的价值
其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...
- [高性能MYSQL 读后随笔] 关于事务的隔离级别(一)
一.锁的种类 MySQL中锁的种类很多,有常见的表锁和行锁,也有新加入的Metadata Lock等等,表锁是对一整张表加锁,虽然可分为读锁和写锁,但毕竟是锁住整张表,会导致并发能力下降,一般是做dd ...
- 搭建TFS 2015 Build Agent环境(一)
Download the build agent Downloading the build agent is really simple. Navigate to your TFS control ...