Windows编程概述
程序的控制流程不再由事件的预定发生顺序来决定,而是由实际运行时各种实际的实际发生来触发,而事件的发生可能是随机的、不确定的,并没有预定的顺序。
事件驱动的程序允许用户用各种合理的顺序来安排程序的流程,事件驱动是一种面向用户的程序设计方法,在程序设计过程中除了完成所需要的程序功能之外,更多的考虑了用户可能的各种输入(消息),并有针对性地设计相应的处理程序。
事件驱动程序设计也是一种被动式的程序设计方法,程序开始运行时,处于等待消息状态,然后取得消息并对其作出相应反应,处理完毕后又返回处于等待消息的状态。
消息驱动机制示例(具体看视频)
创建含有两个文本框的例子,当在第一个文本框中键入字符时,第二个文本框的内容始终和第一个文本框的内容保持一致。
注意之前创建的是控制台应用程序,这次创建的是Windows窗体应用程序。
常用控件
将控件添加到窗体后,通常要设置控件的一个或多个属性。其中,Name属性非常重要,在程序代码中,它用来指明控件。由于程序一般有多个同类控件,所以可以用控件的Name属性来唯一标识某一特定的控件。
特定窗体上的每一个控件都应该有唯一的名称。
Label控件(标签控件)
功能
通常用于提供控件的描述性文字。由Label类描述,Label类继承自Control类,在名字空间System.Windows.Forms。
常用属性
TextBox(文本框)控件
TextBox控件中的文本可以被编辑,而Label控件中的文本不能被编辑。TextBox继承自Control类,在名字空间System.Windows.Forms。
常用属性
常用事件
Button(按钮)控件
用户可以单击按钮控件触发程序动作。从ButtonBase类继承,后者继承自ContentControl类,ContentControl类从Control类派生的。
常用属性
选项控件(4个)
Radio Button
若窗体内仅有一组选项按钮控件时,可将他们之间放置在这个窗体即可。当有两组或多组选项时,Radio Button应该被放置到一个GroupBox(组框)控件中。
常用事件:CheckedChanged
CheckBox
常用属性
- 通过Checked属性可以检查或设定CheckBox是否被选中
Checked = True 被选中
Checked = False 未被选中 - CheckState属性用来指示CheckBox目前的状态
CheckState = Checked 被选中状态
CheckState = UnChecked 未被选中状态
CheckState = Indeterminate 不可用状态(当ThreeState属性设置为True时有效)
GroupBox(组框)
容器类控件,组框可以显示标题(文本),但是没有滚动条。
Panel(面板)
容器类控件,面板可以显示滚动条,但是不能显示标题。