c#中,button控件的触发函数中如何获得button控件的参数

我在一个table控件当中用循环加入了很多button控件,并且用button.click事件触发了一个函数:rotectedvoidbutton_Click(objec... 我在一个table控件当中用循环加入了很多button控件,并且用button.click事件触发了一个函数:rotected void button_Click(object sender, EventArgs e)

但是在调用这个函数的时候,我想弄清是哪个button控件触发了事件,于是想知道原触发控件的ID号,不知道是否有办法实现
就是说我现在如何知道是哪个按钮被点击了?如何知道
展开
 我来答
icdbow
推荐于2017-10-08 · TA获得超过108个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:82万
展开全部
你再循环生成控件的时候应该添加本身的击键事件

button[i].Click += new EventHandler(button_Click);

这个时候,生成的BUTTON都会指向一个事件
在这个事件中实例化一个BUTTON 让它等于激活者就可以了

实例代码:
//动态创建添加5个button,这里就不设坐标了
for(int i=0;i <5;i++)
{
Button btn=new Button();
btn.Text=btn+i.Tostring();
btn.ID=btn+i.Tostring();
btn.Click +=EventHadler(Btn_Click);
this.Page.Controls.Add(btn);
}

protected void Btn_Click(object sender, EventArgs e)
{
Button btn=(Button)sender;
switch(btn.ID)
{
case "btn1":
//执行btn1的要执行的方法;break;
case "btn2":
//执行btn2的要执行的方法;break;
case "btn3":
//执行btn3的要执行的方法;break;
}
}
韧劲9
推荐于2017-09-20 · TA获得超过9223个赞
知道小有建树答主
回答量:1638
采纳率:92%
帮助的人:344万
展开全部
for(int i=0;i <5;i++)
{
Button btn=new Button();
btn.Text=btn+i.Tostring();
btn.ID=btn+i.Tostring();
btn.Click +=EventHadler(Btn_Click);
this.Page.Controls.Add(btn);
}

protected void Btn_Click(object sender, EventArgs e)
{
Button btn=(Button)sender;
switch(btn.ID)
{
case "btn1":
//执行btn1的要执行的方法;break;
case "btn2":
//执行btn2的要执行的方法;break;
case "btn3":
//执行btn3的要执行的方法;break;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
special_chao
2009-05-28 · TA获得超过136个赞
知道答主
回答量:97
采纳率:0%
帮助的人:81.7万
展开全部
思路....

首先你在循环添加Butten控件时就要将Butten的CommandArgument属性设置一个值,来标记一个Butten以供以后可以通过这个标记来找到这个Butten

最后在Butten事件中通过得到当初设置的标记即可找到点击的是哪个按钮了
string argu = ((Butten)sender).CommandArgument
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ypfei3344
2009-05-27 · TA获得超过803个赞
知道答主
回答量:233
采纳率:0%
帮助的人:155万
展开全部
实现定义个数组 s[]
然后按钮一被点击了就把s[1]置一
按钮2被点击了就把s[2]置一
在被调函数中查看数组s的值就知道了
看了之后记得把数组S清0便于下次看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草薙在
2009-05-28 · TA获得超过4795个赞
知道大有可为答主
回答量:6187
采纳率:50%
帮助的人:6262万
展开全部
把sender强制转换成Button然后取ID就行了

回答补充:
请看icdbow的回答

同时或者写如下代码也可以

if(sender == Button1){
}
else if (sender == Button2){}

其中Button1和Button2是你页面中生成字段的控件引用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式