教你如何---构建良好的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以 ...
随机推荐
- Git & Github 一页简明笔记
由于小组工程需要使用git&github的版本控制来协作,但我对其使用并不熟悉,特此写篇一页的笔记放在手边,备随时查阅. 相信这种一页的简明笔记,对大家也是有帮助的.我的笔记总结自廖雪峰的Gi ...
- WINDOWS下用脚本运行redis和mongodb
开发环境每次开麻烦,又不想建service,用bat最简单 @echo off echo 打开NOSLQ服务 start E:\nosql\mongodb\mongod.exe -dbpath e:\ ...
- 用html5+js实现掌机游戏赛车demo
最近无聊,用html5+js做了一个以前玩过的掌机赛车游戏,顺便学习一下画布的api以及巩固一下js基础. 游戏界面,没做什么美化. 游戏规则:游戏界面分为三列,黑色方块随机落下,红色方块可以在三列自 ...
- Object C学习笔记19-枚举
一. 枚举类型 枚举类型是一个基本类型,不能再分为为任何其他的类型.在一般的编程语言中都有枚举(enum)这种数据结构类型.枚举类型主要用于将一个变量限定在特定的范围内.比如一周有七天,那么一周的值就 ...
- nodejs中的Crypto模块
我是属于实用型的选手,千万别问我过多原理性的东西,我只知道,这个是最好的,我就用它. http://cnodejs.org/topic/504061d7fef591855112bab5
- Bootstrap3.0学习第二十六轮(JavaScript插件——图片轮播)
详情请查看http://aehyok.com/Blog/Detail/32.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- AngularJS开发指南6:AngularJS表单详解
表单控件(input, select, textarea )是用来获取用户输入的.表单则是一组有联系的表单控件的集合. 用户能通过表单和表单控件提供验证的服务,知道自己的输入是否合法.这样能让用户交互 ...
- “耐撕”团队2016.04.12站立会议
1.时间 : 19:15--19:30 共计15分钟. 2.成员 : Z 郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客:ht ...
- .Net身份验证概述
一直以来,所有的系统基本都会有用户的登陆验证过程,整个过程其实也不难理解,就是对于cookie的解析.微软的.Net平台围绕用户身份验证授权也有好几个版本了,从早期的Membership到Identi ...
- Java基础-内部类-为什么成员内部类可以无条件访问外部类
在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译字节码文件看看究竟.事实上,编译器在进行编译的时候,会将成员内部类单独编译成一个字节码文件,下面 ...