怎么判断点击的是哪个button

jump1234567 2012-08-09 05:34:49
一个页面中有3个button,当我点击button3的时候里面有两个方法,如果在点击button3之前我点击的是button1,则执行的是方法一。如果点击的button2,则执行的是方法二。 该怎么判断
...全文
379 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
J_star 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

0.先定义一个bool值,bool whichBtn=ture;
1.找button1或2定义click事件,然后让button1和2共用这个事件
2.在定义的click方法中,会传入一个sender对象(即点中的按钮),就是括号参数中的第一个,
3.在button1和2公用的click方法中定义如下

button btn=sender as button;
//这句话是把se……
[/Quote]

方法1或2执行完后再重置 wichBtn为true就好了.

囧,咱好像答到winform了...
J_star 2012-08-09
  • 打赏
  • 举报
回复
0.先定义一个bool值,bool whichBtn=ture;
1.找button1或2定义click事件,然后让button1和2共用这个事件
2.在定义的click方法中,会传入一个sender对象(即点中的按钮),就是括号参数中的第一个,
3.在button1和2公用的click方法中定义如下

button btn=sender as button;
//这句话是把sender转化为button类后赋值给新建button对象btn,这样就把click事件中传入的对象,即点中的是那个按钮转化为btn了

if( btn.text == "button1")
{whichBtn=false;}


4.在button3的click方法中定义如下


if(whichBtn)
{方法1}
else
{方法2}

雨莫漠 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
引用 3 楼 的回复:
int a=0;
private void button3_Click(object sender, EventArgs e)
{
if(a==1)
{
//执行button1
}
else if(a==2)
{
///执行button2
}

}


最好在里面加个a=0,重置值,第二次按button3的时候不会一直触发里面的事件
[/Quote]
a变量的定义应该这样
static int a=0;
变量a定义为静态,刷新的时候值就不会变了
jump1234567 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 1 楼 的回复:

在button3 点击事件外面定义int a=0;
button1点击的时候 a=1;
button2点击的时候 a=2;
button3点击的时候判断a等于几就运行什么方法



C# code


int a=0;
private void button3_Click(object sender, EventArgs e)
……
[/Quote]
明天再试试,不过今天我好像试了下,貌似不能。viewstate也试了。每次页面一刷新 a就=0了
雨莫漠 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
int a=0;
private void button3_Click(object sender, EventArgs e)
{
if(a==1)
{
//执行button1
}
else if(a==2)
{
///执行button2
}

}

[/Quote]
最好在里面加个a=0,重置值,第二次按button3的时候不会一直触发里面的事件
Daniel-C 2012-08-09
  • 打赏
  • 举报
回复
<html>
<head>
<title>test</title>
<script type="text/javascript">
var buttonName='';
function checkButton(name){
if('' != buttonName){
alert(buttonName);
// 根同button的id执行对应的操作。
}
buttonName=name;
}
</script>
</head>

<body>
test
<input type="button" id="button1" value="button1" onclick="checkButton('button1')"/>
<input type="button" id="button2" value="button2" onclick="checkButton('button2')"/>
<input type="button" id="button3" value="button3" onclick="checkButton('button3')"/>
</body>
</html>
Change_L 2012-08-09
  • 打赏
  • 举报
回复
session,viewstate...
tudiy 2012-08-09
  • 打赏
  • 举报
回复
给Button3中的两个方法分别添加一个参数。这个参数的值是由触发Button1和Button2之后分别传入的。
然后在Button3中判断这个参数的值是哪一个Button传过来的值,根据传进来的值判断执行那个方法
牛哥_ 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

在button3 点击事件外面定义int a=0;
button1点击的时候 a=1;
button2点击的时候 a=2;
button3点击的时候判断a等于几就运行什么方法
[/Quote]


int a=0;
private void button3_Click(object sender, EventArgs e)
{
if(a==1)
{
//执行button1
}
else if(a==2)
{
///执行button2
}

}

jump1234567 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wawd74520 的回复:]
在button3 点击事件外面定义int a=0;
button1点击的时候 a=1;
button2点击的时候 a=2;
button3点击的时候判断a等于几就运行什么方法
[/Quote]

每次刷新页面不都是PostBack的么?
失落的神庙 2012-08-09
  • 打赏
  • 举报
回复
在button3 点击事件外面定义int a=0;
button1点击的时候 a=1;
button2点击的时候 a=2;
button3点击的时候判断a等于几就运行什么方法

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧