C# C/S程序如何调用button的Click事件?

SATAN1122 2010-07-07 03:32:19
由于这个按钮的Click事件是动态绑定的,无法知道原方法。

请问用什么方法才能在后台代码中执行该方法呢?

类似于直接写
button1.Click()
的这种

...全文
6763 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
SATAN1122 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 hrabeyond 的回复:]
你的需求需要用反射取出事件绑定的委托实例,然后执行

C# code

PropertyInfo pi = Button1.GetType().GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic);
EventHandlerList eList= (EventHandlerList)pi.GetValu……
[/Quote]

可能这是解决方法·谢谢
手抓宝 2010-07-07
  • 打赏
  • 举报
回复
你的需求需要用反射取出事件绑定的委托实例,然后执行

PropertyInfo pi = Button1.GetType().GetProperty("Events", BindingFlags.Instance | BindingFlags.NonPublic);
EventHandlerList eList= (EventHandlerList)pi.GetValue(Button1, null);
FieldInfo fieldInfo = (Button1.GetType()).GetField("EventClick", BindingFlags.Static | BindingFlags.NonPublic);

Delegate del = eList[fieldInfo.GetValue(null)];

del.DynamicInvoke(null, null);


注:Button1为你要执行事件的按钮ID
SATAN1122 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zwm520lj 的回复:]
引用 9 楼 hrabeyond 的回复:
C# code

protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += new EventHandler(Button1_Click);
Button1_Click(null, null);
}

……


正确的答案
[/Quote]


都说了我不知道绑定的方法名是什么...去哪里找所谓的Button1_Click.....哎
SATAN1122 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 tkascor 的回复:]
其实我不懂他的意思,
你是不是要说, 你想制定一个click事件?
[/Quote]

这样说吧,btn1已经绑定了一个click事件,但我不知道是哪一个

现在我就想直接调用btn1的click事件而已,

最好还是能通用,比如下次调用的是ComboBox 的SelectedValueChanged 事件等......
zwm520lj 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 hrabeyond 的回复:]
C# code

protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += new EventHandler(Button1_Click);
Button1_Click(null, null);
}

……
[/Quote]

正确的答案
tkscascor 2010-07-07
  • 打赏
  • 举报
回复
其实我不懂他的意思,
你是不是要说, 你想制定一个click事件?
手抓宝 2010-07-07
  • 打赏
  • 举报
回复

protected void Page_Load(object sender, EventArgs e)
{
Button1.Click += new EventHandler(Button1_Click);
Button1_Click(null, null);
}

void Button1_Click(object sender, EventArgs e)
{
Response.Write("diannimei");
}
SATAN1122 2010-07-07
  • 打赏
  • 举报
回复
顶上去
SATAN1122 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 s370092561 的回复:]
我就知道这几种了
(1)button1.PerformClick();
(2)button1_Click(null,null);
(3)button_Click(null,new EventArgs());
[/Quote]

嗯·可惜不适合我这里的情况
s370092561 2010-07-07
  • 打赏
  • 举报
回复
我就知道这几种了
(1)button1.PerformClick();
(2)button1_Click(null,null);
(3)button_Click(null,new EventArgs());
SATAN1122 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
button1.PerformClick();
[/Quote]

找不到PerformClick····还有别的方法吗?希望找到一种可以通用的方法,比如也可以调用ComboBox 的SelectedValueChanged 事件等..
rqx110 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]

button1.PerformClick();
[/Quote]
wuyq11 2010-07-07
  • 打赏
  • 举报
回复
button1.PerformClick();
SATAN1122 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mohugomohu 的回复:]
button1_Click(null,null);
[/Quote]

根本就没有这个方法....我就是不知道这个Button绑定了哪一个方法啊...
mohugomohu 2010-07-07
  • 打赏
  • 举报
回复
button1_Click(null,null);
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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