添加控件并处理事件(纯手写)
2015-12-18 23:26
337 查看
这个或许对于VS IDE拖放控件并双击写事件处理代码不是难事,但有意思的是你要去了解它的原理,底层怎么干的:
1、创建按钮并添加到当前窗体中
Button btn1 = new Button();
...省略按钮相关属性设置
this.Controls.Add(btn1); //this表示当前对像窗体
对于其他任何对象这个方法都是一样的道理,所以可以有各种组合,各种搭配
"死的"让VS干,"活的"才自己来
2、事件与方法相关联
button1.Click += new EventHandler(button1_Click)
private void button1_Click(Object sender,EventArgs e)
{
((Button)sender).Text = "Clicked";
...事件处理代码
}
直白点!
newbutton.Click的类型其实是Event类型
new EventHandler(newbutton_Click)其实是delegate类型
这里的运算符+=不是字符串中的相连运算符,而是委托中的注册运算符,即把某个事件注册为某个操作,当程序执行某个操作时就会调用相应的事件处理程序。
1、创建按钮并添加到当前窗体中
Button btn1 = new Button();
...省略按钮相关属性设置
this.Controls.Add(btn1); //this表示当前对像窗体
对于其他任何对象这个方法都是一样的道理,所以可以有各种组合,各种搭配
"死的"让VS干,"活的"才自己来
2、事件与方法相关联
button1.Click += new EventHandler(button1_Click)
private void button1_Click(Object sender,EventArgs e)
{
((Button)sender).Text = "Clicked";
...事件处理代码
}
直白点!
newbutton.Click的类型其实是Event类型
new EventHandler(newbutton_Click)其实是delegate类型
这里的运算符+=不是字符串中的相连运算符,而是委托中的注册运算符,即把某个事件注册为某个操作,当程序执行某个操作时就会调用相应的事件处理程序。
相关文章推荐
- 自动控制原理:二阶系统的动态性能分析
- FreeRTOS 特性简介
- 在VSAN实验环境下如何将普通HDD标注成SSD
- JavaScript中区块(block)的作用域
- 开源项目ListViewAnimations的简单使用(实现GoogleCards效果)
- AngularJS 外部文件中的控制器其他实例
- 菜鸟教程 http://www.runoob.com/
- GROUP BY 子句
- Nginx学习笔记二 -- nginx的配置
- XML CDATA
- 关于使用ABP框架搭建的项目升级时需要注意的问题汇总
- 基于thrift的微服务框架
- 设计模式学习—策略模式
- Nginx学习笔记一
- 南邮编程在线编程题十八:进制转换
- SQLiteOpenHelper
- POJ-1179 Polygon (动态规划)
- POJ-1179 Polygon (动态规划)
- jquery-mobile(一)
- mediastreamer2在VS2008下编译