教你如何---构建良好的windows程序(初学者必看)
一使用菜单栏和工具栏
1.菜单栏和工具栏有什么作用和优点:
通过菜单栏把应用程序的功能进行分组,能够方便用户查找和使用,下图所示的菜单栏包含的每一项都是顶层菜单项,顶层菜单项下的选项称为”子菜单”或”菜单项”;
通过将常用的功能列在工具栏中,使用时,无需去菜单栏中去寻找相应的功能,直接选择工具栏中的功能即可.
2.使用菜单栏控件MenuStrip
01.在菜单栏中只能添加菜单项(MenuItem),组合框(ComboBox),文本框(TextBox)
02.菜单栏的主要属性
Name:代码中菜单对象的名称.
Items:在菜单中显示的项的集合.
Text:与菜单项关联的文本.
03.在Items属性的编辑窗口中,可以添加菜单项(MenuItem),组合框(ComboBox),文本框(TextBox),分隔菜单项(Separator),也可以设置每一项的属性,还可以调整各项的排列顺序.
04.菜单项的主要属性和事件:
属性:
Name:代码中菜单项对象的名称.
DropDownItems:在子菜单中显示的项的集合.
Text:与菜单项相关联的文本.
事件:
Click:选中该菜单项时,触发该事件.
05.关于菜单栏快捷键:
方式一:在菜单栏的属性中找到Text属性:写新建(&A)在菜单项写项目(&B) 文件(&C),就会达到这样一个效果
打开方式:首先必须按住alt+主菜单快捷键进入到对应的主菜单,然后直接按F就可以打开子窗体。
打开缺点:必须先用alt+字符,先定位到一级菜单,然后按B键C键才能定位到相应内容
方式二:
打开属性找到shortCutKeys,创建对应的组合键,可以在主界面直接按对应的字母键就可以打开子窗体,假如设置快捷键(Ctrl+B)。按快捷键Ctrl+B直接打开项目
打开.优点:可以跳过1级菜单,直接调用需要的窗口和分割线
06关于分割线的画法:
<1>插入分割线
<2>输入减号(-)
3.Application.Exit()和this.Close()的区别
Application.Exit() | this.Close() |
应用程序类Application的静态方法,用于退出当前应用程序. |
实例方法,用于关闭当前窗体;如果当前窗体是系统启动的 窗体,则执行该方法关闭窗体后,应用程序退出. |
如果当前应用程序打开了多个窗体,则关闭所有窗体 | 如果当前应用程序打开多个窗体,只关闭当前窗体 |
关闭窗体时,不会触发窗体的FormClosing和FormClosed事件 | 关闭窗体时,会触发窗体的FormClosing和FormClosed事件 |
4.使用工具栏控件ToolStrip
01.注意点:工具栏中只包括上述图中的控件.
02.工具栏控件的主要属性:
ImagesScalingSize:工具栏中的项显示的图像的大小.
Items:在工具栏上显示的项的集合.
注:在Itens属性的编辑窗口中,可以增加,删除项,也可以调整各项的排列顺序,还可以设置其中每一项的属性.
03.工具栏上的按钮和标签的主要属性和事件.
属性:
DisplayStyle:设置图像和文本的显示方式,包括显示文本,显示图像,显示文本或图像或什么都不显示.
Image:按钮/标签上显示的图片
ImageScaling:是否调整按钮/标签上显示的图片的大小
Text:按钮/标签上显示的文本
TextImageRelation:按钮/标签上图像与文本的相对位置.
事件:
Click:单击按钮/标签是,触发的事件.
04.关于设置工具栏中图片的大小问题:
首先选中整个ToolsStrip控件,找到属性ImageScalingSize属性,可以设置width的大小和height的大小.
二使用WinForms的基本控件
1.单选按钮:(RadioButton)
为用户提供由两个或多个互斥选项组成的的选项的集合.
单选按钮的主要属性和事件:
属性:
Checked:指示单选按钮是否已选中.
Text:单选按钮显示的文本.
事件:
Click:单机单选按钮是发生.
2.分组框:(GroupBox)
用于为其他控件提供可识别的分组,通常使用分组框按功能细分窗体.
3.面板:(Panel)
他的功能和分组框类似,都是用来将控件分组的.唯一不同就是面板没有标题,但可以显示滚动条.
4.容器控件GroupBox和Panel的区别:
GroupBox(分组框) | Panel(面板) |
用于逻辑的组合一组控件,如RadioButton和CheckBox控件, 显示一个框架,框架上有一个标题. |
用于包含多个控件,以便将这些控件编为一组,方便操作这些控件. |
5.日期控件.
提供一种能够用来选择日期的下拉式日历,从而避免手工输入带来的不必要麻烦.
日期控件的主要属性:
MaxDate:取得设定最大日期和时间.
MinDate:取得设定最小日期和时间.
Value:控件所选定的日期/时间值.
Format:用于设置控件中显示的日期和时间的格式.
6使用Anchor属性和Dock属性:
<1>Anchor属性:Anchor是锚定的意思,用于设置控件相对于窗体的某个边缘的距离保持不变,从而实现随窗体的变化动态调整控件的大小.Winform中的每个控件都有该属性.
锚定控件的步骤:
01.选定要锚定的控件
02.在"属性"窗口中,单击Anchor属性的右侧的下拉按钮,显示Anchor属性的编辑器
03.在显示的"十字星"上选择或清除控件锚定的边.
04.单击Anchor属性名,关闭Anchor属性编辑器.
<2>使用Dock属性:
01.选择要停靠的控件.
02.在"属性"窗口中,单击Dock属性右侧的下拉按钮,显示Dock编辑器.
03.选择停靠方式,单击最下面的"None"清除停靠方式.
04.单击Dock属性名,关闭Dock编辑器.
Anchor和Dock属性的总结:
Anchor:让控件和窗体边缘的位置保持固定的像素值。
Dock:使控件停靠在窗体的某个部位(Top,Bottom,Left,RIght),或者填充整个窗体(Fill)
三创建MDI应用程序:
1.创建MDI:
01.设置父窗体:将父窗体的IsMdiContainer属性设置成True.
02.设置子窗体:在调用打开子窗体的Show()方法之前,在代码中将子窗体的MdiParent属性设置为this.
四.组合框ComboBox控件.
Items是组合框的属性,他代表组合框中项的集合,,当对组合框中的项进行操作的时候,都会用到Items属性,它的类型为ComboBox.ObjectCollection
ComboBox.ObjectCollection类型的常用的属性和方法
属性:
Count:获得集合中项的数目.
DropDownStyle:获取或设置指定组合框样式的值.
IsReadOnly:获取指示能够修改该集合的值.
Item:检索集合中指定索引的项.
方法:
Add():向组合框的项列表中添加项.
Clear():从组合框中移除所有项.
Remove():从组合框中移除指定的项.
教你如何---构建良好的windows程序(初学者必看)的更多相关文章
- 程序员必看:如何降低APP软件开发的成本?
程序员必看:如何降低APP软件开发的成本? 作为一名曾经的程序猿,一直想写一点东西给大家分享一下,今天终于动笔了,写写我们在开发的过程中怎样才能更快更好的进行开发,降低app开发成本.无论是个人开发者 ...
- JAVA程序员必看的15本书-JAVA自学书籍推荐
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- [.net程序员必看]微软新动向之Android和IOS应用 visual studio 2015 Cordova[原创]
自萨蒂亚·纳德拉(Satya Nadella)上任微软CEO以来,可谓是惊喜不断,仿佛让世界尤其是我们.net程序员心中又燃起了希望.先是免费提供 iOS 版和安卓版 Office:然后在 xbox ...
- 程序员必看:给你一份详细的Spring Boot知识清单
在过去两三年的Spring生态圈,最让人兴奋的莫过于Spring Boot框架.或许从命名上就能看出这个框架的设计初衷:快速的启动Spring应用.因而Spring Boot应用本质上就是一个基于Sp ...
- PHP高级程序员必看知识点:目录大全(不定期更新)
面试题系列: 分享一波腾讯PHP面试题 2019年PHP最新面试题(含答案) Redis 高级面试题 学会这些还怕进不了大厂? 阿里面试官三年经验PHP程序员知识点汇总,学会你就是下一个阿里人! ph ...
- 【转】java架构师之路:JAVA程序员必看的15本书的电子版下载地址
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- JSTL&EL(程序员必看之一)
EL表达式 可以在jsp页面中减少大量的Java代码.Expression Language,它是一种借鉴了javaScript和XPath的表达式语言. EL表达式定义了一系列的隐含对象和操作符,使 ...
- Java架构师之路:JAVA程序员必看的15本书
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- AppStore 审核中文版 --- 程序员必看
App Store审核指南中文版(2014.10.11更新) 2014-11-03 程序猿 苹果在9月3日对App Store审核指南进行了重大更新,新添加了扩展.HealthKit.HomeKit以 ...
随机推荐
- 浅析C#中的“==”和Equals
1.“==”和Equals两个真的有关联吗? 对于“==”和Equals大多数网友都是这样总结的: “==” 是比较两个变量的值相等. Equals是比较两个变量是否指向同一个对象. 如:这篇文章,并 ...
- 浅析Java异常
1.什么是异常 结构不佳的代码不能运行,这是Java的基本理念. 发现错误的理想时机是在编译期.然而,编译器并不能发现所有的错误,余下的问题就需要在程序运行时解决.这就需要错误能通过某种方式,把适当的 ...
- 重写TiledServiceLayer实现Arcgis访问Mapabc地图服务 (转载)
package com.baixin.main;/** * * @ClassName: MapAbcToArcGISTLayer * @Description: ArcGIS访问MapAb ...
- AngularJS开发指南2:AngularJS初始化过程
自动初始化 请将ng-app指令放到你应用的标签节点中, 如果你想要AngularJS自动执行整个<html>程序就把它放在 <html> 标签中.比如:<html ng ...
- Samba实现Linux与Window文件的传输
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...
- SDAutolayout图片大小根据数量变化
只需要在自定义的PhotoContainerView中做一下判断就可以了 ) { [self setupAutoWidthFlowItems:[temp copy] withPerRowItemsCo ...
- WPF学习(一)--布局控件简介
WPF的4种基本布局介绍 1.Grid的布局 这个就没啥特别好说的,其实,基本上复杂的布局,都需要用到Grid. 主要就是对行和列进行进行设置和定义. 1.行表格 列表格: 包含行和列的表格 2.St ...
- 图解Android - 如何看Android的UML 图?
如何看UML图? UML能给我们带来什么? 这是本文要寻找的答案.UML图有很多类型,我们这里只讨论最重要也最常用的两种 - 类图和时序图. 1. 类图 通过类图,我们可以很容易的了解代码架构,理清模 ...
- c#创建ISS站点
private void CreateWebSite() { try { string installPath = "C:\\Program Files\\MyWeb"; stri ...
- 浅议SNMP安全、SNMP协议、网络管理学习
相关学习资料 tcp-ip详解卷1:协议.pdf(重点看25章SNMP部分) http://www.rfc-editor.org/rfc/rfc1213.txt http://www.rfc-edit ...