事件处理
演示:给按钮控件添加事件处理。
- 右键点按钮,属性
- 切换到事件显示,Click事件
- 输入回调方法的名字,回车。
则会自动生成一个用于事件处理的回调方法。。
首先创建一个Form 界面,在按钮上右键选择属性,以打开按钮属性菜单
选中闪电,事件
在Click点击事件中,输入方法名,回车
此时在Form1.cs中,自动添加了一个方法,事件处理程序,可直接添加到该方法中
弹出消息框,示例
运行程序
点击按钮测试
【注意】 在界面设计器上双击按钮时,会添加默认的事件处理方法
不过,默认的事件处理方法得名字不太好,不推荐。
比如此时新创建一个button2, 双击该按钮
此时,可以找到该按钮,右键属性,在事件,click 中重新输入方法名
回车
此时自动将名字改变了
要点与细节
- 事件处理回调是定义在 Form1.cs中的
- MessageBox.Show()弹出一个消息框
- 在GUI程序中,控制台输出不起作用不过,在调试状态下Console.WriteLine()还是可以看到打印输出
手工事件处理
手工给按钮添加一个回调处理
- 在设计器里,给按钮起一个名字
- 在Form1.cs里,添加一个回调方法
void OnTest(Object sender,EventArgs e){} - 添加事件处理
testButton.Click += new EventHandler(this.OnTest);
委托/事件
修改按钮名称 为testButton
查看Form1.designer.cs 中,生成了该字段
回调方法,参数与返回值都是固定的(委托)
添加事件处理
运行测试
事件处理
System.EventHandler
delegate void EventHandler(object sender,EventArgs e)
其中,
sender : 事件发送者,即点中的控件
e:事件的额外参数,比如鼠标点击的位置
自动 VS 手动
本质上没有区别
与之前的源码对比:
自动方式:在 Form1.Designer.cs中自动生成代码
手动方式:在Fqrm1.cs中手动添加事件处理
注:有的时候,需要手工方式添加事件处理。
要点与细节
1 Form1.Designer.cs 中的代码可以看,但不要修改它是由设计器自动生成的。
2 如果不太理解event语法,也没关系,会写就行。
(练习) 显示时间
首先创建一个新的项目
1添加一个Button,修改显示文本
在工具箱中,添加一个button(按钮) textbox (文本框)
右键点击属性
修改按钮文字
2添加一个TextBox,修改字段名timeField
添加事件处理
3给按钮添加Cick事件处理。。
添加代码获取时间字符串,显示
运行
要点与细节
1 Name 指的是字段名(变量名)
Text 指的是显示的文本