一. 控件
1. 属性
大多数控件的基类都是System.Windows.Forms.Control,它有许多属性。
以下是Control类最常见的一些属性
2. 控件的定位、停靠和对齐
3. Anchor和Dock属性
Anchor 属性指定在用户重新设置窗口的大小时控件该如何响应。
可以指定如果控件重新设置了大小,就根据控件的边界合理地锁定它,
或者其大小不变,但根据窗口的边界来锚定它的位置。
Dock 属性指定控件应停靠在容器的边框上。
如果用户重新设置了窗口的大小,该控件将继续停放在窗口的边框上。
4. 事件
Control类定义了本章所用控件的一些比较常见的事件。以下列出常见事件
A. 首先创建窗体的可视化外观,选择并定位控件。
B. 再添加事件处理程序,事件处理程序包含了示例的主要工作代码。
有3种处理事件的基本方式
A. 双击控件,进入控件默认事件的处理程序,这个事件因控件而异。
如果该事件就是我们需要的事件,就可以开始编写代码。
如果需要的事件与默认事件不同,有两种方法来处理这种情况。
B. 一种方法是使用“属性”(Properties)窗口中的“事件”(Events)列表,单击下图所示的闪电图标按钮,就会显示“事件”(Events)列表。
要给事件添加处理程序,只需在“事件”(Events)列表中双击该事件,就会生成给控件订阅该事件的代码,以及处理该事件的方法签名。
另外,还可以在“事件”(Events)列表中该事件的旁边,为处理该事件的方法输入一个名称。按下回车键,就会用我们输入的名称生成一个事件处理程序。
C. 另一个选项是自己添加订阅该事件的代码。
在键入订阅该事件所需的代码时,VS会检测到我们做的工作,并在代码中添加方法签名,就好像在窗体设计器中一样。
注意这两种方式都需要两步:订阅事件和处理方法的正确签名。
如果双击控件,给要处理的事件编辑默认事件的方法签名,以处理另一个事件,就会失败,
因为还需要修改InitializeComponent()中的事件订阅代码,所以这种方法并不是处理特定事件的快捷方式。
二. Button 控件
1. System.Windows.Forms名称空间提供了3个派生于ButtonBase的控件,即Button、CheckBox和RadioButton。
2. 按钮主要用于执行3类任务
用某种状态关闭对话框【如“确定”(OK)和“取消”(Cancel)按钮】。
给对话框上输入的数据执行操作【例如,输入一些搜索条件后,单击“搜索”(Search)】。
打开另一个对话框或应用程序【如“帮助”(Help)按钮】。
对Button控件的处理是非常简单的。
通常是在窗体上添加控件,再双击它,给Click事件添加代码,这对于大多数应用程序来说就足够了。
3. Button 控件的属性
以下是 Button 类最常用的属性
4. Button控件的事件
按钮最常用的事件是Click
只要用户单击了按钮,就会引发该事件。
(如果在按钮上单击了鼠标左键,然后把鼠标移动到其他位置,再释放鼠标,将不会引发Click事件。)
在按钮得到焦点,且用户按下了回车键时,也会引发Click事件。
例如,创建一个带有3个按钮的时话框。其中两个按钮在英语和丹麦语之间来回切换(也可以使用其他语言),最后一个按钮关闭对话框。
添加3个按钮,调整按钮位置,重新设置窗体大小
把按钮的属性中的Name改为buttonEnglish等等
把按钮的属性中的Text改为English等等
把按钮的属性中的Image导入图片
把图片的ImageAlign改为MiddleLeft
调整按钮宽度,使按钮文字不遮挡图片
把窗体的Text改为Do you speak English?
如图
5. 添加事件处理程序
方法名是控件名、下划线和要处理的事件名的组合