WinForm 多窗体菜单和工具栏

Posted 兔小灰385

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm 多窗体菜单和工具栏相关的知识,希望对你有一定的参考价值。

  今天,我首先先学习了一下在WinForm程序开发中常遇到的问题——多窗体程序运行问题。

  在开发多窗体程序时,常会遇到以下四个方面的问题:

  一、哪个是主窗体

  问题:主窗体隐藏了,关闭其它窗体后,没有将主窗体显示/关闭,那么程序就关不上了。

  当遇到这个问题时,我们通常的解决办法是:构造函数传值,将窗体传到另一个窗体中去,进行关闭。

  二、窗体只能打开一个

  创建一个全局的泛型集合,为了放置全部打开的窗体。在窗体打开之前,判断集合中是否有name一致的窗体,如果有就说明已经打开了,就不要再打开了。

  问题:当窗体打开了,关闭后,就无法再次打开了。

  这个问题通常的解决办法是:当窗体关闭时,清除Form1中集合中的此窗体对象记录。

  问题:当窗体已经打开,再次点击打开按钮,不会将已打开的窗体重新显示并焦点进入。

  这个问题的解决办法是:找到已打开对象,将WindowState属性设置为:FormWindowState.Normal;找到已打开窗体的对象,使用Focus方法。

  三、窗体之间的传值和控制

  传值:构造函数传值。

  控制:第一步,找到窗体对象,第二步,将窗体对象的控件值更改。

  注意:要将窗体中的对象访问权限修改。

  四、提示框类型的窗体

  ShowDialog();

  它的作用是:弹出一个必须先输入完本窗体内容才能继续其他窗体操作的窗体。

  接下来,我学习了菜单和工具栏的内容。 

  1、MenuStrip:
  顶部菜单
  分割线:1、- 2、右键插入 split。。。

  快捷键:每一个项右键属性的最下面可以设置快捷键
  不管选项隐藏还是菜单隐藏,快捷键都管用

  2、ContextMenuStrip:
  右键菜单

  3、StatusStript:
  底部菜单

  4、ToolStrip
  工具条

  5、ToolStripContainer
  工具条容器

以上是关于WinForm 多窗体菜单和工具栏的主要内容,如果未能解决你的问题,请参考以下文章

C# winform程序,怎么实现菜单的功能

2017-04-25winform公共控件菜单和工具栏Tab和无边框窗体制作

WinForm基础

C# winform 学习知识转发

Winform 菜单和工具栏控件

Winform菜单和工具栏控件