VS表单中添加了一个Button,然后双击这个button,VS会自动的为我们产生了一个方法的代码。问题是:
1、本质上VS帮我们做了什么呢?
2、这个方法和Button有什么关系?
3、工作原理是什么呢?
老师给我们的提示是详细阅读VS生成的每一行代码。各位大牛们谁能帮我解答一下啊,谢谢了~~
1、本质上VS帮我们做了什么呢?
2、这个方法和Button有什么关系?
3、工作原理是什么呢?
老师给我们的提示是详细阅读VS生成的每一行代码。各位大牛们谁能帮我解答一下啊,谢谢了~~
调试欢乐多
this.button1.Click += new System.EventHandler(this.button1_Click);
protected void button1_Click(object sender, EventArgs e)
{
}
想具体了解该代码含义请参考:
浅析C#的事件处理和自定义事件
http://dev.csdn.net/develop/article/22/22951.shtm
C# 中的委托和事件
http://www.tracefact.net/Document/Delegates-and-Events-in-CSharp.pdf
2你肯定是没仔细看事件名字,这个事件其实是为BUTTON1创建的,因为你双击的就是名为BUTTON1的按钮
3我不明白你说的工作原理指的是什么的工作原理,如果是你想问为什么双击BUTTON就产生一个事件,那没什么好说的,这就是人家VS做的,与你学习VS.C#无关,你能问面为什么是白的吗?它就那样,一样的道理初学C#只需要盯紧他的控件使用技巧,各种属性各类方法使用就可以
this.button1.Click += new System.EventHandler(this.button1_Click);
protected void button1_Click(object sender, EventArgs e)
{
}
想具体了解该代码含义请参考:
浅析C#的事件处理和自定义事件
http://dev.csdn.net/develop/article/22/22951.shtm
C# 中的委托和事件
http://www.tracefact.net/Document/Delegates-and-Events-in-CSharp.pdf
2、这个方法和Button有什么关系? 这个方法是你点击的BUTTON的处理事件
3、工作原理是什么呢? 好好看看书,说不清楚
Eventhandler是一个delegate(代表)类型
public delegate void EventHandler(object sender,EventArgs e);
newButton.Click += new EventHandler(my_Click);
一个事件 在定义类中(这个事件 的出生地)中,会被“触发”而那时并不会被执行,只有等到,包含
这个事件定义类中的某个方法被+=以后才会被执行
看看designer.cs
我补充下
系统帮我们在button的click时间里面添加了一个委托
而这个委托封装了我们写的方法,也就是我们点击button的时候系统自动执行我们写的方法。
关系:方法是button的click事件的匿名委托的方法
工作原理:好好看看 委托和事件我也顺便问你一个问题 我们编辑的form类中连main方法都没有 程序是怎么运行的呢?
如果,button的原理你不懂的话,这个问题你肯定也不知道答案。
因为你不了解程序的运行的过程。
好好看看program.cs designer.cs