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里,实现左侧是导航,中间是操 ...
随机推荐
- PipeCAD之管道标准库PipeStd(2)
PipeCAD之管道标准库PipeStd(2) eryar@163.com Key Words. PipeCAD, PipeStd, 管道设计软件,管件库 1. Introduction 管道标准部件 ...
- 使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中<meta-data>变量的值
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49247815 文章出自:薛瑄的博客 你也能够查看我的其它同类文章.也会让你有一定的 ...
- 30.angularJS第一个实例
转自:https://www.cnblogs.com/best/tag/Angular/ AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 Angu ...
- Entity Framework介绍和DBFirst开发方式
一.ORM概念 什么是ORM? 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术.简单来说,就是将关系型数 ...
- CloudFoundry 云平台部署
CloudFoundry云平台部署 CloudFoundry(TheOpenSourceCloudOperatingSystem)距离发布已经一年多了作为第一个开源的PaaS平台日臻成熟.在这一年里C ...
- Android控件-Fragment+ViewPager(高仿微信界面)
什么是Fragment? Fragment是Android3.0后新增的概念,Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个 ...
- Flutter入门
1.安装SDK 官网下载其最新可用的安装包并解压. 设置环境变量:在.bash_profile文件中写入export PATH=/Users/malk/Documents/flutter/bin:$P ...
- Sub Thread to update main Thread (UI)
Sub Thread to update main Thread (UI) main Thread : A has Hander.HandleMessage() to process the & ...
- display 表格模型值
display:inline-table 此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符.display:inline-table 可以使文字和表格在同一行显示 d ...
- Microsoft office2016(专业增强版) 安装错误,报CRT(KB2999226)
对着这个错误的出现,网上有解释,这里不多说(实际是我没有找到比较靠谱的说法..),跟Window Update这个服务有关. 首先打开”Windows人为管理器”->"服务" ...