VB.NET章鱼哥出品—怎样解决MDI子窗口被父窗口中的控件覆盖的问题

近期有个网友问我这个问题,我就上网搜了下,结果非常失望。有几个在CSDN上发的求助帖。看到最后都没有找到明白的答案。

这里笔者在网上找到了API函数SetParent(),并对网上的错误进行了改动,并给出了简单实例代码。

读者可自行測试:

Public Class Form1
    '作者:章鱼哥,QQ:3107073263 群:309816713
    '如有疑问或好的建议请联系我。大家一起进步
    '声明SetParent函数。这是一个API函数
    Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Long
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.IsMdiContainer = True '将Form1设置为父窗口容器
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Form1是父窗口,Form2是子窗口
        SetParent(Form2.Handle, Me.Handle)
        Form2.Show()
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        SetParent(Form3.Handle, Me.Handle)
        Form3.Show()
    End Sub
End Class

截图效果:

时间: 2024-12-25 14:44:05

VB.NET章鱼哥出品—怎样解决MDI子窗口被父窗口中的控件覆盖的问题的相关文章

VB.NET章鱼哥出品—如何解决MDI子窗体被父窗体中的控件覆盖的问题

最近有个网友问我这个问题,我就上网搜了下,结果很失望,有几个在CSDN上发的求助帖,看到最后都没有找到明确的答案.这里笔者在网上找到了API函数SetParent(),并对网上的错误进行了修改,并给出了简单实例代码.读者可自行测试: Public Class Form1 '作者:章鱼哥,QQ:3107073263 群:309816713 '如有疑问或好的建议请联系我,大家一起进步 '声明SetParent函数,这是一个API函数 Declare Function SetParent Lib "u

AE二次开发,解决子窗体使用父窗体的AxControl控件

在子窗体写构造函数,然后再在父窗体按钮点击事件下写 public frmIDW(AxMapControl axMapControl1) { InitializeComponent(); this.axMapControl1 = axMapControl1; } private AxMapControl axMapControl1; private void Krige_ItemClick(object sender, ItemClickEventArgs e) { Krige krige = n

子窗体在父窗体指定的控件中显示

//设置子窗体在tabPage中显示 Form1 f = new Form1();//子窗体 f.TopLevel = false; f.Parent = tabPage2;//指定显示容器 f.WindowState = FormWindowState.Maximized; f.FormBorderStyle = FormBorderStyle.None; f.Show();

单例模式——解决MDI子窗体实例化的问题

机房收费系统进行有一段时间了,但是始终有些历史遗留问题.比如,如何MDI子窗体如何显示在上层的问题和MDI子窗体实例化的问题. 对于如何显示在上层的问题,这次采用的还是SetParent函数,在模块里面添加: <span style="font-size:18px;"><span style="font-size:18px;"> '定义一个用来设置子窗体的函数 Declare Function SetParent Lib "user

VB.NET 章鱼哥出品--入门基础Button控件的使用详解(一)

全网最全的Button控件详解!!!Button 按钮是VB.NET 中最基础,也是最常用的控件,不管你是初学者还是大牛.每个程序中必然少不了Button按钮.但是Button控件有很多用法很多大牛却不见得知道.用的最多的无非就是在点击事件中处理程序,今天我将使用2到3篇文章的篇幅来详细讲解Button按钮的用法.      '作者:章鱼哥,QQ:3107073263 群:309816713            '如有疑问或好的建议请联系我,大家一起进步     1,属性(以最常用的开始) (

Qt 代码: 子窗口调用父窗口(其实就是用指针直接访问)

之前的 Qt 编程大多只涉及简单的多窗口,并未染指窗口间的传值交互,想来还是“涉世未深”,对 Qt 的理解.应用还需殷勤努力. 这次的问题是这样的,我想要实现一个类似QQ.阿里旺旺的聊天客户端,在弹出表情对话框后,能够选择表情并返回给聊天窗口的消息输入框,这就需要两个窗口之间的传值交互. 首先想到的解决方法自然是使用Qt自带的signal/slot机制.即首先发信号给父窗口,父窗口接到信号执行槽函数发送一个携带所需数据的信号给子窗口.但是疑问来了:要在子窗口中接收到父窗口的信号必须进行signa

Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件

这个例子是比较有用的,基本上可以说,写完这一次,以后很多情况下,直接拿过来addView一下,然后再addInterceptorView一下,就可以轻轻松松的达到组合界面中特定控件来响应特定方向的触摸事件了. 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45198549,非允许请勿用于商业或盈利用途,违者必究. 在写Android应用的过程之中,经常会遇到这样的情况:界面包含了多个控件,我们希望触摸在界面上的不

基于VB中WINSOCK控件的网上象棋系统的实现

本文发表在<微型机与应用>杂志2001年第3期. 马根峰1   ,  孙艳2  , 王平1 (1.重庆邮电学院自动化学院,重庆,400065:2. 铁道部第十九工程局四处,内蒙 通辽,028000 )  摘要     本文首先介绍了Visual Basic中的WINSOCK控件的使用方法,然后深入探讨了网上象棋系统的设计思想及其实现过程. 关键词    WINSOCK控件:TCP:UDP 中图分类号: 文献标识码: 1      引言 MicrosoftVisual Basic 是可视化的.面

angular 使用bootstratp模态框+响应式表单+响应式表单的验证+子窗关闭父窗口刷新

This is quite big project today 这次有以下几个功能: 1.ng-bootstrap模态框 2.响应式表单 3.响应式表单的验证 4.子窗关闭父窗口刷新 其实这几个哪一个都能写一个话题,事情太多了,时间紧任务重,一起写了吧: ng-bootstrap模态框所需要的条件(very very important),如果写错,查错非常的难哦,请慎重[反正我看不懂错误提示,出个错解决老办天]. 1.package.json加入dependencies: "@ng-boots