c#中,button控件的触发函数中如何获得button控件的参数
我在一个table控件当中用循环加入了很多button控件,并且用button.click事件触发了一个函数:rotectedvoidbutton_Click(objec...
我在一个table控件当中用循环加入了很多button控件,并且用button.click事件触发了一个函数:rotected void button_Click(object sender, EventArgs e)
但是在调用这个函数的时候,我想弄清是哪个button控件触发了事件,于是想知道原触发控件的ID号,不知道是否有办法实现
就是说我现在如何知道是哪个按钮被点击了?如何知道 展开
但是在调用这个函数的时候,我想弄清是哪个button控件触发了事件,于是想知道原触发控件的ID号,不知道是否有办法实现
就是说我现在如何知道是哪个按钮被点击了?如何知道 展开
7个回答
展开全部
你再循环生成控件的时候应该添加本身的击键事件
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;
}
}
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;
}
}
展开全部
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;
}
}
{
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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思路....
首先你在循环添加Butten控件时就要将Butten的CommandArgument属性设置一个值,来标记一个Butten以供以后可以通过这个标记来找到这个Butten
最后在Butten事件中通过得到当初设置的标记即可找到点击的是哪个按钮了
string argu = ((Butten)sender).CommandArgument
首先你在循环添加Butten控件时就要将Butten的CommandArgument属性设置一个值,来标记一个Butten以供以后可以通过这个标记来找到这个Butten
最后在Butten事件中通过得到当初设置的标记即可找到点击的是哪个按钮了
string argu = ((Butten)sender).CommandArgument
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实现定义个数组 s[]
然后按钮一被点击了就把s[1]置一
按钮2被点击了就把s[2]置一
在被调函数中查看数组s的值就知道了
看了之后记得把数组S清0便于下次看
然后按钮一被点击了就把s[1]置一
按钮2被点击了就把s[2]置一
在被调函数中查看数组s的值就知道了
看了之后记得把数组S清0便于下次看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把sender强制转换成Button然后取ID就行了
回答补充:
请看icdbow的回答
同时或者写如下代码也可以
if(sender == Button1){
}
else if (sender == Button2){}
其中Button1和Button2是你页面中生成字段的控件引用
回答补充:
请看icdbow的回答
同时或者写如下代码也可以
if(sender == Button1){
}
else if (sender == Button2){}
其中Button1和Button2是你页面中生成字段的控件引用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询