我想知道那句代码是说明我输入的btnVal是等于数值的几的?或者说明下btnVal0.Click+= new EventHandler;
1个回答
展开全部
btnVal0.Click+= new EventHandler;就是把vtnVal0的click事件绑定一个响应函数,代码里10个Button的click事件都用了同一个btnVal1_Click。
参数里,sender就是产生事件的源,你的代码里都是Button,所以Button btn=(Button)sender这句将事件源视为Button类,并用变量btn来引用。这样btn.Text就是那个事件源按钮上的文本了。
参数里,sender就是产生事件的源,你的代码里都是Button,所以Button btn=(Button)sender这句将事件源视为Button类,并用变量btn来引用。这样btn.Text就是那个事件源按钮上的文本了。
追问
为什么我按下brnVal1键会显示的是1,而btnVal2会显示2.。。。。求解里面的窍门。
追答
就在sender这个参数,也就是产生Click的源,他是一个对象。
很多控件都有Click事件,但响应的方法都是形如void xxxx(object sender, EventArgs e)。
所以在使用sender对象前需要显式的转换一下,也就是代码中的Button btn=(Button)sender一句。
(这里sender可以转换为Button,是因为我们知道事件源必然是Button类型的)
这样btn也就是被点击的那个按钮了,那么btn.Text自然是按钮上的文字了。
其实C#中,类作为参数的时候是传引用的。类就像空中的风筝,风筝线就是引用,抓住线就相当于抓住了风筝。你把风筝的控制权交给别人的时候,只是把线给了他,而不是真的把风筝给了他。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询