一、背景

一年前有学习过C#,但没有在项目中去实际做APP,重新捡起来应用到项目中。我同事本来做好一个CANOPEN设备管理的界面,由于近期搜索了别人的开发的界面,我觉得有很多东西要重新安排,以及我已经实现封装CANOPEN协议成可调用的函数库,可以边调试边写实现功能会更实际一点,目前我已经规划好界面大体的方向,所以决定重新写好这个CANOPEN设备管理的界面。由于有好多的不懂,还是一步一步来,从最基本的开始。下面是今天使用到的控件。

二、菜单控件

我要实现如下图所示把窗体上增加菜单栏,菜单下可以点击进入子菜单。



使用控件MenuStrip,可以实现菜单栏的编辑,如下图所示,1位置编辑写入主菜单名称,2位置编辑写入子菜单名称。

三、主窗体打开子窗体

实现一个窗口的菜单栏的子菜单再打开另外一个窗口。如下图所示,我通过菜单栏点击进入另外一个窗口。



首先要先建立另外一个窗体,在解决方案的项目管理那里,右击,选择"添加",再选择"windows窗体"。如下图所示。



双击点击的菜单栏增加如下代码:

            Form2 CanSetting = new Form2();
CanSetting.Text = "CAN SETTING"; //设置子窗口的名称
CanSetting.Show(); //显示出来子窗口

这样就可以在子窗口中增加其它的控件的。

四、GroupBox控件

我使用GroupBox控件是为了把其它的控件给框起来,但出现的问题有其它有控件总是被GroupBox控件给覆盖起来看不到。



实际操作是先把GroupBox控件给拉进去,再把其它的控件拉进去放在它的上边,还要将GroupBox控件属性的EnabledVisible设置成True

五、ComboBox下拉表实现

如下图所示,如果我用一个数组去存储下拉的内容,在程序中去实现列表比较麻烦。



可以直接使用comboBox属性里边的Items中加入要罗列的内容。



对于控件comboBox还要设置属性里边的DropDownStyleDropDownList,这样下拉里边的内容就修改不了,DropDown下拉后的内容是可以修改的。

六、参考文档

http://jingyan.baidu.com/article/67508eb4e0efd39ccb1ce465.html

by 羊羊得亿

2017-06-15 ShenZhen

C#之菜单控件、主窗体打开子窗体、GroupBox控件使用的更多相关文章

  1. Caliburn.Micro 关闭父窗体打开子窗体

    比如我们在做登录的时候需要关闭父窗体打开子窗体.使用Caliburn.Micro它的时候我们关闭登录窗口的时候主页面也会关闭. 解决方法就是在登录页面的CS里面写 IndexView iv = new ...

  2. winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体

    winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始 ...

  3. 主窗体里面打开子窗体&&打印饼图《Delphi 6数据库开发典型实例》--图表的绘制

    \Delphi 6数据库开发典型实例\图表的绘制 1.在主窗体里面打开子窗体:ShowForm(Tfrm_Print); procedure Tfrm_Main.ShowForm(AFormClass ...

  4. C#_父窗体跟子窗体的控件操作

    很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见 ...

  5. c# 子线程打开子窗体

    下边是在子线程打开子窗口,结果跑到else 里边了跨线程操作窗体控件InvokeRequired失效,无法用于打开子窗体,addonetwo.InvokeRequired,访问不了呢? 大神知道帮忙回 ...

  6. 界面主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序

    主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序1.执行主窗体定义事件 new函数时,同时执行主窗体构造函数,默认就一个InitializeComponent函 ...

  7. 2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生

    主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序 1.主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中 ...

  8. window.open 打开子窗体,关闭全部的子窗体

    需求:通过window.open方法打开了子窗体,当关闭主窗体时.子窗体应当也关闭. 实现思路: 1.打开子窗体函数window.open(url,winName)的第二个參数winName能够唯一标 ...

  9. winform里操作打开在panel里的form窗体,子窗体操作同级子窗体或者父窗体的方法

    最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操 ...

随机推荐

  1. python 写了一个批量拉取文件进excel文档

    路径如: C:\\Users\\huaqi\\Desktop\\信息收集 “信息收集”目录下有以下子目录:[技术,客服,运营,行政] “技术”目录下有以下子文件:[小白.txt,小红.txt,小黑.t ...

  2. Linux常用图片查看处理软件

    1.Shotwell是一款轻量级的图片管理软件,GNOME桌面环境默认自带,您可以使用它来从数码相机中导入相片.shotwell允许用户对图片进行管理,并且提供了一些基本的编辑功能,您可以对图片进行剪 ...

  3. Huawei设备配置系统时钟

    系统时钟是设备上的系统时间戳.由于地域的不同,用户可以根据当地规定设置系统时钟.用户必须正确设置系统时钟以确保其与其他设备保持同步.华为设备出厂时默认采用了协调世界时(UTC),但是没有配置时区所有在 ...

  4. Mysql学习总结(9)——MySql视图原理讲解与使用大全

    一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...

  5. BUFFER OVERFLOW 10 Vulnerability & Exploit Example

    SRC= http://www.tenouk.com/Bufferoverflowc/Bufferoverflow6.html THE VULNERABLE AND THE EXPLOIT     W ...

  6. js正則表達式--验证表单

    检測手机号码:/0? (13|14|15|18)[0-9]{9}/ 检測username:(数字,英文,汉字.下划线.中横线):/^[A-Za-z0-9_\-\u4e00-\u9fa5]+$/ pas ...

  7. CCNA Cloud CLDFND 210-451 QUIZ: Server Virtualization

    Author:海峰 http://weibo.com/344736086 http://yanheven.github.io/ http://blog.csdn.net/yanheven1 1.Whi ...

  8. json和XML

    发请求(url) 1.client  ---------------->服务端                发送数据(Json/xml)                      < - ...

  9. VS添加程序集

    项目->添加->引用->程序集 可在项目的引用目录中,查看引用的程序集

  10. C#变量引用与全局变量

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...