标签:
今天,我首先先学习了一下在WinForm程序开发中常遇到的问题——多窗体程序运行问题。
在开发多窗体程序时,常会遇到以下四个方面的问题:
一、哪个是主窗体
问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了。
当遇到这个问题时,我们通常的解决办法是:构造函数传值,将窗体传到另一个窗体中去,进行关闭。
二、窗体只能打开一个
创建一个全局的泛型集合,为了放置全部打开的窗体。在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了。
问题:当窗体打开了,关闭后,就无法再次打开了。
这个问题通常的解决办法是:当窗体关闭时,清除Form1中集合中的此窗体对象记录。
问题:当窗体已经打开,再次点击打开按钮,不会将已打开的窗体重新显示并焦点进入。
这个问题的解决办法是:找到已打开对象,将WindowState属性设置为:FormWindowState.Normal;找到已打开窗体的对象,使用Focus方法。
三、窗体之间的传值和控制
传值:构造函数传值。
控制:第一步,找到窗体对象,第二步,将窗体对象的控件值更改。
注意:要将窗体中的对象访问权限修改。
四、提示框类型的窗体
ShowDialog();
它的作用是:弹出一个必须先输入完本窗体内容才能继续其他窗体操作的窗体。
接下来,我学习了菜单和工具栏的内容。
1、MenuStrip:
顶部菜单
分割线:1、- 2、右键插入 split。。。
快捷键:每一个项右键属性的最下面可以设置快捷键
不管选项隐藏还是菜单隐藏,快捷键都管用
2、ContextMenuStrip:
右键菜单
3、StatusStript:
底部菜单
4、ToolStrip
工具条
5、ToolStripContainer
工具条容器
标签:
原文地址:http://www.cnblogs.com/hongsen3/p/5898331.html