C#中MDI窗体的一些设置

一、MDI的子窗体一旦放大后,子窗体的图标就越过菜单栏,跑到最上面去了?

把父窗口中的MainMenuStrip属性设置成父窗口的MenuStrip!

二、

1.建立MainForm(设置属性IsMdiContainer=true)父窗体如下所示。

2.双击工具栏上的Form1 图标。设置Form1子窗体的显示。

Form1子窗体显示代码如下:

private void toolStripButton1_Click(objectsender, EventArgs e)

{

Form1 f1= new Form1();

f1.WindowState = FormWindowState.Normal;

f1.MdiParent = this;

f1.Show();

}

3.选中菜单栏menuStrip1,设置其 ItemAdded 事件。

menuStrip1的ItemAdded事件代码如下:

private void menuStrip1_ItemAdded(objectsender, ToolStripItemEventArgs e)

{

if(e.Item.Text.Length == 0         //隐藏子窗体图标

|| e.Item.Text == "最小化(&N)"  //隐藏最小化按钮

|| e.Item.Text == "还原(&R)"  //隐藏还原按钮

|| e.Item.Text == "关闭(&C)")//隐藏最关闭按钮

{

e.Item.Visible = false;

}

}

C#中MDI窗体的一些设置

时间: 2024-11-01 11:25:55

C#中MDI窗体的一些设置的相关文章

winform(MDI窗体容器、权限设置)

一.MDI窗体容器: 1.功能: 它可以让其它窗体在它的内部打开,无法超出它的范围 将某个窗体的属性:IsMdiContainer设置为true - 窗口样式 2.问题: (1)如何将其它窗体在它的内部打开? 窗体对象名.MdiParent = this; (2)窗体打开时最大化属性不好用,怎么办? 在实例化窗体对象,show之前,用代码设置最大化属性 注意:窗体的WindowState属性必须为默认值Normal (3)内部窗体最大时右上角总是显示最大最小关闭按钮,如何去掉? 在MDI窗体里放

2015.12.14 MDI(多文档窗口结构)设置基本解决,折腾一天,部分解决存在已久的问题。但效果仍不如临时航线的MDI窗体结构。

创建从一个窗口弹出多个子窗口的结构叫MDI窗体结构 如果不按MDI结构管理,最简单的做法是: 在窗体A上添加菜单或按钮,在菜单或按钮事件中添加弹出B窗体代码: B b = new B(); b.show() 这样A与B没有任何关系,有多少个弹出窗口任务栏上就有多少个图标,父窗口最小化时其余窗口没有任何变化.这样比较凌乱. 但好处是弹出窗口的位置和大小与父窗口没有约束关系,弹出窗口可以在父窗口之外显示. 稍改进的方法(可能是比下方改进MDI还好的方法) B b = new B(); b.show(

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

问题 解决办法 user32dll SystemRuntimeInteropServices 代码 总结 问题 这几天在优化程序的时候发现了一个问题,就是在MDI窗体中的子窗体被激活显示出来之后,总是被主窗体中的控件遮挡(各种控件).解决的方法也试了很多但是都不是很满意,由于C#的WINFROM窗体没有SETPARENT的方法,所以很多东西都需要自己去编写,下面就贴一个至少让我感觉非常不错的方法吧. 解决办法 user32.dll user32.dll是Windows用户界面相关应用程序接口,用

解决WinForm(C#)中MDI子窗体最大化的问题

“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild

解决WinForm(C#)中MDI子窗体最大化跑偏的问题

“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild

Winform MDI窗体容器、权限、简单通讯

MDI窗体容器: 一般来说,窗体是顶级容器,不允许放在其他任何容器内,但是如果将某个窗体的IsMdiContainer属性设置为True,那此窗体就会成为窗体容器,可以在其中放入其他窗体 在内部的窗体不管怎么调整,是无法跳出其父级窗体容器的 注:如果想让内部窗体一直最大化并且不要其显示最大化最小化按钮,可将其FormBorderStyle设置为None,Win7系统另外需要将此窗体放入一个Panel容器中 private void 销售ToolStripMenuItem_Click(object

机房重构---MDI窗体+单例模式

在VB6.0版本的机房收费系统中就用到了MDI技术(多文档界面),其中有的窗体用了MDI,而有的则没有用到,回头想想这些个关于增删改查的功能都该是MDI这个容器中的子窗体,于是这次我将他们都放到了MDI窗体中. 一.关于MDI窗体 MDI窗体设置步骤: (1)在frmMain中打开属性窗格,"IsMdiContainer"属性设置为"True". (2)把工具箱中MenuStrip控件拖到frmMain中,创建菜单如图 由于最近敲的是"修改密码"

【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

一.打印控件 第一步先把打印对象搞出来. - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次) - pageSetupDialog 打印设置对话框 - printPreviewDialog 打印预览对话框 - printPreviewControl  打印预览控件. 只需要把预览对象给他设置上就好 - printDialog  打印对话框 打印界面里面是否禁用页面范围.打印到文件等从Pri

VC中获取窗体句柄的各种方法

AfxGetMainWnd AfxGetMainWnd获取自身窗体句柄HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow函数功能:该函数检查与特定父窗体相联的子窗体z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗体的句柄. 函数原型:HWND GetTopWindow(HWND hWnd):參数: hWnd:被查序的父窗体的句柄.假设该參数为NULL,函数返回Z序顶部的窗体句柄.返回值:    假设函数成功,返回值为在Z序顶部的子窗