private void btnLeft_Click(object sender, EventArgs e)
{
if (termini == -1)
{
termini = Convert.ToInt32(((Button)sender).Tag); // 获得目的地, 这行的((Button)sender).是什么意思??
((Button)sender).BackColor = Color.Orange;
}
else
{
MessageBox.Show("对不起,只能选择一个楼层!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
termini = Convert.ToInt32(((Button)sender).Tag); // 获得目的地, 这行的((Button)sender).是什么意思??
c#中的代码问题
答案:2 悬赏:0
解决时间 2021-12-14 23:58
- 提问者网友:暖心后
- 2021-12-14 12:29
最佳答案
- 二级知识专家网友:厌今念往
- 2021-12-14 12:49
private void btnLeft_Click(object sender, EventArgs e)
这个事件处理函数有两个参数
一个是事件的触发对象,也就是事件来源
一个是这个事件对应的参数
对于按钮来说,这个sender就是对应的button
因为好多情况下,如果好多按钮的功能都很接近,又不想重复的添加这么多事件,可以把N多个button的事件全部指向一个处理函数,比如,btnLeft和btnRight两个按钮都用btnLeft_Click处理
那么怎么区是哪个按钮触发的呢,就需要sender了,把整个sender转化成button对象,然后根据button的id或者tag等其他可以区分的属性来确定是哪个button
这个事件处理函数有两个参数
一个是事件的触发对象,也就是事件来源
一个是这个事件对应的参数
对于按钮来说,这个sender就是对应的button
因为好多情况下,如果好多按钮的功能都很接近,又不想重复的添加这么多事件,可以把N多个button的事件全部指向一个处理函数,比如,btnLeft和btnRight两个按钮都用btnLeft_Click处理
那么怎么区是哪个按钮触发的呢,就需要sender了,把整个sender转化成button对象,然后根据button的id或者tag等其他可以区分的属性来确定是哪个button
全部回答
- 1楼网友:无字情书
- 2021-12-14 14:27
你的switch里t是int型
case里t > xx是bool型
类型不同,所以错了
而且case t > xx这种写法也达不到你的效果,每个case只产生true或false两个值
无法对应你的8种情况,所以还是用if来写吧,虽然有点长
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯