• WinForm 多窗体、菜单和工具栏


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

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

      一、哪个是主窗体

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

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

      二、窗体只能打开一个

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

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

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

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

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

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

      传值:构造函数传值。

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

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

      四、提示框类型的窗体

      ShowDialog();

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

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

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

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

      2、ContextMenuStrip:
      右键菜单

      3、StatusStript:
      底部菜单

      4、ToolStrip
      工具条

      5、ToolStripContainer
      工具条容器

  • 相关阅读:
    手把手教你搭建docker-hub
    fabric可以跨链吗?
    手把手教你编译Fabric源代码
    区块链中的密码学之数字证书体系(十四)
    区块链中的密码学之默克尔树(十五)
    区块链中的密码学之数字签名方案(十二)
    区块链中的密码学之非对称密码概述(九)
    区块链中的密码学之非对称密码椭圆曲线(十三)
    在Visual Studio 2017中使用Asp.Net Core构建Angular4应用程序
    从USB驱动器运行Windows 10
  • 原文地址:https://www.cnblogs.com/hongsen3/p/5898331.html
Copyright © 2020-2023  润新知