我想知道那句代码是说明我输入的btnVal是等于数值的几的?或者说明下btnVal0.Click+= new EventHandler;

 我来答
小鸣5566
2013-04-07 · TA获得超过540个赞
知道小有建树答主
回答量:1061
采纳率:0%
帮助的人:902万
展开全部
btnVal0.Click+= new EventHandler;就是把vtnVal0的click事件绑定一个响应函数,代码里10个Button的click事件都用了同一个btnVal1_Click。
参数里,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#中,类作为参数的时候是传引用的。类就像空中的风筝,风筝线就是引用,抓住线就相当于抓住了风筝。你把风筝的控制权交给别人的时候,只是把线给了他,而不是真的把风筝给了他。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式