VB.NETMDI窗体显示问题?

问题描述

VB.NETMDI窗体显示问题?

1、Form1为MDI主窗体上有Panel1、SplitContainer1(Panel1、Panel2)控件
2、Form1中的Button1_Click显示子窗体:
Dim frm As Form2 = New Form2
frm.MdiParent = Me
frm.TopLevel = False
frm.BringToFront()
frm.TopMost = True
frm.Show()
问题: 子窗体被Panel1、SplitContainer1控件所遮挡,如何将子窗体显示在MDI窗体所有控件的最前面;

解决方案

在mdi窗体上添加一个panel,这个panel撑满整个MDI,
把SplitContainer1之类的都放在这个Panel中。
让后在把窗体设置为

 frm.MdiParent = Me
        frm.Parent = Me.Panel1
        frm.BringToFront()

解决方案二:

http://bbs.csdn.net/topics/300109845

解决方案三:

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);

 该方法可以将子窗体显示出来,但不在MDI容器中,游离到MDI之上,显示效果不好;
时间: 2024-08-04 11:40:59

VB.NETMDI窗体显示问题?的相关文章

VB.NET窗体操作技巧两则

VB.NET窗体操作技巧两则 2003-03-18· ·刘红军 刘乐坤 ··yesky 一.如何拖动没有边框的窗体? 这个功能在VB6中,需要借助于API函数才能实现.而在VB.NET中,凭自己的功能就能实现.首先设置窗体的FormBorderStyle属性为none以去掉窗体的边框,然后在窗体上添加一个按钮.窗体中的代码如下: Public Class Form1 Inherits System.Windows.Forms.Form Private mouse_offset As Point

wpf-c#代码设置WPF窗体显示到第二个显示屏

问题描述 c#代码设置WPF窗体显示到第二个显示屏 想在WPF窗体界面放二个按钮,显示屏幕1 显示屏幕2 当我点击按钮 显示屏幕1 窗体全屏显示在 主屏幕 : 相反,当我点击 显示屏幕2 就显示在 第二个屏幕去...! 解决方案 参考: using System.Linq; using System.Windows; namespace ExtendedControls { static public class WindowExt { // NB : Best to call this fun

父窗体与子窗体-C#父窗体显示多个子窗体,显示方式为网页形式

问题描述 C#父窗体显示多个子窗体,显示方式为网页形式 一个父窗体,有好多子窗体,我想实现所有子窗体都可以现实在父窗体中,显示为图片这样,可以新增可以单独窗体删除 解决方案 http://www.bubuko.com/infodetail-466368.html 解决方案二: 网页界面可以用webbrowser 解决方案三: webbrowser控件 解决方案四: 有一个控件就是专门做这个的 你找找

Android 应用程序窗体显示状态操作(显示隐藏标题栏或自定义窗体大小)

 Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性.参数是Window类中定义的常量.一.枚举常量1.DEFAULT_FEATURES:系统默认状态,一般不需要指定2.FEATURE_CONTEXT_MENU:启用ContextMenu,默认该项已启用,一般无需指定3.FEATURE_CUSTOM_TITLE:自定义标题.当需要自定义标题时必须指定.如:标题是

窗体显示问题-MDI子窗体最大化显示问题

问题描述 MDI子窗体最大化显示问题 在MDI子窗体 1.放了一个菜单 Me.MenuStrip1 .Dock =DockStyle.Top: 设置"窗口"菜单存放子窗体标题 Me.MenuStrip1.MdiWindowListItem = 窗口ToolStripMenuItem: 2.放了一个Panel1控件 Me.Panel1 .Dock =DockStyle.Fill: 3.在Panel控件上放了一个按钮,用于打开一个子窗体,click事件代码为: Dim frm As For

winform点击某个按钮,主窗体和子窗体都显示,子窗体显示在最上面

问题描述 winform点击某个按钮,主窗体和子窗体都显示,子窗体显示在最上面 winform点击某个按钮,主窗体和子窗体都显示,子窗体显示在最上面 解决方案 showdialog()showdialog()showdialog()showdialog() 解决方案二: 子窗体.BringToFront()

代码-Java Swing窗体显示有问题,为什么呢?

问题描述 Java Swing窗体显示有问题,为什么呢? 代码如下: import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import java.awt.GridLayout; public class Display extends JFrame{ private JPanel jp = new JPanel(); privat

winapi 消息-为控制避免其他应用程序窗体显示锁定,需要向该窗体发送什么消息?

问题描述 为控制避免其他应用程序窗体显示锁定,需要向该窗体发送什么消息? WINAPI应用,已得到其他应用程序的窗体句柄,如何避免其闲时锁定? 比如该窗体设置10分钟闲时锁定,如何在10分钟之内给该窗体发送消息以避免锁定? 以下代码不能阻止锁定,不知什么原因?如何修改? SetForegroundWindow(hwdApp); SendMessage(hwdApp, 0x00A1, 1, 1); SendMessage(hwdApp, 0x00A2, 1, 1);//一个down一个up构成一次

WinForm窗体显示和窗体间传值总结

WinForm 2009-02-10 10:47:47 阅读50 评论0 字号:大中小 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击"关闭"按钮会隐藏窗