c# winform里的一个问题

allenzhang0006 2010-10-18 06:38:21
比如 有两个按钮 单击 调用同一个 form 弹出 只是根据button的不同

form里显示的内容部同。我是如何判断发起者呢?? ?


或者比如panel1事件,但是我定义了很多委托
button1.click +=new eventhandler(eventhandler pa_click);
button2.click +=new eventhandler(eventhandler pa_click);

那我怎么判断是哪个按钮 触发了 pa_click 呢???


谢谢。


...全文
151 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
龍月 2010-10-18
  • 打赏
  • 举报
回复
button1.tag
funkf 2010-10-18
  • 打赏
  • 举报
回复
其实定义全局bool 变量来最好,在一个Button点击事件中把它改成true,然后在登录的form中判断是不是true来显示控件,我是用这个方法来实现的
xrongzhen 2010-10-18
  • 打赏
  • 举报
回复
button_Click(object sender, EventArgs e)

sender是触发Click事件的对象 e是相关的键盘鼠标消息
wenshangang 2010-10-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lorenliu 的回复:]
可以根据button的name来判断,反正sender就是那个button,你想用其它属性判断也行


C# code

private void button_Click(object sender, EventArgs e)
{
Button b = sender as Button;
if (b != null)……
[/Quote]
这个很简单,可以看看
linghubo 2010-10-18
  • 打赏
  • 举报
回复
可以根据button的name来判断,反正sender就是那个button,你想用其它属性判断也行
allenzhang0006 2010-10-18
  • 打赏
  • 举报
回复
谢谢 方法都可以!
justiceyves 2010-10-18
  • 打赏
  • 举报
回复
这个应该很EASY的吧 直接搞个全局变量 if...else...一下就OK了。
zoeforever 2010-10-18
  • 打赏
  • 举报
回复
你可以在form里定义一个属性。然后弹出form的时候根据不同按钮给那个属性赋个不同的值。

//form里定义
private string _opener;
public string opener
{
get{return _opener;}
set{_opener = value;}
}
//调用时
Form1 form = new Form1();
form.opener = "button1";

手头没有开发环境,可能语句会有些问题。反正就是这个意思。
LorenLiu 2010-10-18
  • 打赏
  • 举报
回复
可以根据button的name来判断,反正sender就是那个button,你想用其它属性判断也行


private void button_Click(object sender, EventArgs e)
{
Button b = sender as Button;
if (b != null)
{
if (b.Name == "button1")
{
}
if (b.Name == "button2")
{
}
}
}

110,534

社区成员

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

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

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