VC# 2005中MDI子窗体最大化图标显示问题
2009-03-19 23:17
423 查看
在vs2005多文档设计过程中,被一个小问题给犯难了--MDI子窗体显示最大化后主窗体菜单栏左上角的图标显示不正常。一般情况下,只要设置Form的Icon属性就可以了,但在VS2005 .net设计中确不这样。
创建新工程后,新建两个窗体:MainWindow和MdiChildWnd,并且分别这两个构函数中设置Icon属性。在MainWindow中添加一个菜单项newToolStripMenuItem,点击这个菜单菜既弹出MdiChildWnd子窗体。其中Properties.Resources.App则是在资源中添加的Icon图标(只能是16×16格式)。
加入以上代码后正常运行,如图2
图2
创建新工程后,新建两个窗体:MainWindow和MdiChildWnd,并且分别这两个构函数中设置Icon属性。在MainWindow中添加一个菜单项newToolStripMenuItem,点击这个菜单菜既弹出MdiChildWnd子窗体。其中Properties.Resources.App则是在资源中添加的Icon图标(只能是16×16格式)。
//MainWindow.cs public partial class MainWindow : Form { public MainWindow() { InitializeComponent(); this.Icon = Properties.Resources.App; this.IsMdiContainer = true; } private void Form1_Load(object sender, EventArgs e) { } private void newToolStripMenuItem_Click(object sender, EventArgs e) { MdiChildWnd child = new MdiChildWnd(); child.MdiParent = this; child.WindowState = FormWindowState.Maximized; child.Activated += new EventHandler(child_Activated);//注意:child_Activated是在子窗体第一次被激活时触发的事件。不过,也可以用GotFocus事件,GotFucus事件是在获点焦点时触发。 child.Show(); } void child_Activated(object sender, EventArgs e) { ((Form)sender).Icon = Properties.Resources.App; } }
加入以上代码后正常运行,如图2
图2
相关文章推荐
- VS2005中MDI子窗体最大化显示的问题
- 去除MDI子窗体最大化后在MainMenuStrip上自动产生的图标和最大化、最小化等按钮(转)
- 解决WinForm(C#)中MDI子窗体最大化的问题
- VC 关于让子窗显示图标的问题
- 解决WinForm(C#)中MDI子窗体最大化的问题
- 机房程序打不开及MDI子窗体显示不全的问题
- 去除MDI子窗体最大化后在MainMenuStrip上自动产生的图标和最大化、最小化等按钮(转)
- net MDI 窗体菜单显示子窗体ICON图标,以及合并子窗体菜单问题
- VC++ 文件和应用程序关联,默认图标不显示问题
- 关于VC2005 CCheckListBox显示乱码问题的解决办法。
- 机房收费系统问题(二)——MDI子窗体不显示
- 解决WinForm(C#)中MDI子窗体最大化的问题 (转)
- VC CListCtrl 图标不显示的问题
- 子窗体最大化显示问题
- 去除MDI子窗体最大化后在MainMenuStrip上自动产生的图标和最大化、最小化等按钮
- 解决WinForm(C#)中MDI子窗体不能最大化的问题
- MDI子窗体ICON显示问题
- Visual Studio 2008项目中WinForm窗体图标显示为类图标,只能打开代码而无法打开视图问题解决
- 解决WinForm(C#)中MDI子窗体最大化跑偏的问题
- WinForm(C#)中MDI子窗体最大化的问题