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

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

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

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

双击点击的菜单栏增加如下代码:
Form2 CanSetting = new Form2();
CanSetting.Text = "CAN SETTING"; //设置子窗口的名称
CanSetting.Show(); //显示出来子窗口
这样就可以在子窗口中增加其它的控件的。
四、GroupBox控件
我使用GroupBox控件是为了把其它的控件给框起来,但出现的问题有其它有控件总是被GroupBox控件给覆盖起来看不到。

实际操作是先把GroupBox控件给拉进去,再把其它的控件拉进去放在它的上边,还要将GroupBox控件属性的Enabled和Visible设置成True。
五、ComboBox下拉表实现
如下图所示,如果我用一个数组去存储下拉的内容,在程序中去实现列表比较麻烦。

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

对于控件comboBox还要设置属性里边的DropDownStyle为DropDownList,这样下拉里边的内容就修改不了,DropDown下拉后的内容是可以修改的。
六、参考文档
http://jingyan.baidu.com/article/67508eb4e0efd39ccb1ce465.html
by 羊羊得亿
2017-06-15 ShenZhen
C#之菜单控件、主窗体打开子窗体、GroupBox控件使用的更多相关文章
- Caliburn.Micro 关闭父窗体打开子窗体
比如我们在做登录的时候需要关闭父窗体打开子窗体.使用Caliburn.Micro它的时候我们关闭登录窗口的时候主页面也会关闭. 解决方法就是在登录页面的CS里面写 IndexView iv = new ...
- winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体
winform打开子窗体后,在子窗体中刷新父窗体,或者关闭子窗体刷新父窗体,搜集了几个方法,列举如下: 一 . 所有权法 父窗体,名称为“fuForm”,在父窗体中有个公共刷新方法,也就是窗体数据初始 ...
- 主窗体里面打开子窗体&&打印饼图《Delphi 6数据库开发典型实例》--图表的绘制
\Delphi 6数据库开发典型实例\图表的绘制 1.在主窗体里面打开子窗体:ShowForm(Tfrm_Print); procedure Tfrm_Main.ShowForm(AFormClass ...
- C#_父窗体跟子窗体的控件操作
很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见 ...
- c# 子线程打开子窗体
下边是在子线程打开子窗口,结果跑到else 里边了跨线程操作窗体控件InvokeRequired失效,无法用于打开子窗体,addonetwo.InvokeRequired,访问不了呢? 大神知道帮忙回 ...
- 界面主窗体,子窗体的InitializeComponent(构造函数)、Load事件执行顺序
主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序1.执行主窗体定义事件 new函数时,同时执行主窗体构造函数,默认就一个InitializeComponent函 ...
- 2016.6.18主窗体、子窗体InitializeComponent()事件、Load事件发生顺序以及SeleChanged事件的发生
主窗体,子窗体的InitializeComponent(构造函数).Load事件执行顺序 1.主窗体定义事件 new 主窗体() 构造函数进入主窗体InitializeComponent函数,该函数中 ...
- window.open 打开子窗体,关闭全部的子窗体
需求:通过window.open方法打开了子窗体,当关闭主窗体时.子窗体应当也关闭. 实现思路: 1.打开子窗体函数window.open(url,winName)的第二个參数winName能够唯一标 ...
- winform里操作打开在panel里的form窗体,子窗体操作同级子窗体或者父窗体的方法
最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操 ...
随机推荐
- strchr函数的实现而不是使用
刚刚在写一个程序的时候突然须要用到定位到一个字符串中第一次出现某个字符的位置,于是就找到了strchr()函数,之前从没实用过的,^_^当然我能够直接调用就可以.可是拥有良好程序素质的洗衣袋决定要想实 ...
- _DataStructure_C_Impl:LinkListBasedSort
#include<stdio.h> #include<stdlib.h> #include"LinkList.h" //创建单链表 void CreateL ...
- Create the Data Access Layer
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/getting-started/getting-started-with-aspn ...
- 5.应用与模块(ng-app)
转自:https://www.cnblogs.com/best/tag/Angular/ 自动载入启动一个AngularJS应用,声明了ng-app的元素会成为$rootScope的起点 每个HTML ...
- HTTP 各种特性应用(二)
一.Cookie 通过 Set-Cookie 设置. 下次浏览器请求就会带上. 键值对,可以设置多个. Cookie 属性 max-age 和 expires 设置过期时间 Secure 只在 htt ...
- apidoc接口文档的快速生成
官方文档连接:http://apidocjs.com/#demo apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用 ...
- canvas中遇到的理解问题
1.lineDashOffset ctx.lineDashOffset = number 描述: setLineDash 用于设置开始绘制虚线的偏移量. 数字的正负表示左右偏移. 2.createLi ...
- Mysql数据库常规操作(建表、查询)
一.表单操作 1-1.创建表 create table tb_name( id in primary key auto_increment); 1-2.查看表 desc table_name; ...
- 我的头上碧空晴朗——数据库存datetime问题
今天遇到一个问题,数据库mysql存的datetime类型数据.取出来数据居然耍流氓,好好的日期在秒后多了个小数点0 当我用正常的方法, SimpleDateFormat myFmt=new Simp ...
- 一个Web报表项目的性能分析和优化实践(六):设置MySQL的最大连接数(max_connections)
在上一篇文章中"一个Web报表项目的性能分析和优化实践(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例"提到,项目中新增几个数据库 ...