C#按钮click事件是如何触发的 10

比方说你点了一个按钮,程序怎么知道应该用哪个函数来处理这个动作呢?那么EventHandler会告诉程序:"button1(sender)被点击(e)了,请调用对应的处理... 比方说你点了一个按钮,程序怎么知道应该用哪个函数来处理这个动作呢?那么EventHandler会告诉程序:"button1(sender)被点击(e)了,请调用对应的处理函数"。当然这个函数是谁,这个函数要做什么,是由你自己写的。
再深入一层,这个过程实际上就是:你的动作被windows捕获,windows把这个动作作为系统消息发送给程序(可以看message结构),程序从自己的消息队列中不断的取出消息,并在消息循环中寻找对应的处理方式,这时message结构中的类似于sender和e就起到了引导程序使用正确的处理函数的作用。
归根究底,这个sender和e及其一整套的处理方式,只不过是windows消息机制的另外一种表现罢了。

找到令我满意的答案了,多谢各位的指导!
展开
 我来答
CRM行业专家
2010-09-26 · 专注理财知识与个人理财规划答疑
CRM行业专家
采纳数:113 获赞数:242

向TA提问 私信TA
展开全部
这么给你说吧;分为两种,一种是客户端执行脚本用的,一种是服务器端触发事件用的,前者在属性里加入onclick=“脚本事件”就可以了,后者双击按钮会自动进入后台代码,可以对点击按钮时所发生的时间进行操作。
Sweet丶奈何
高粉答主

2015-11-05 · 每个回答都超有意思的
知道大有可为答主
回答量:2.8万
采纳率:82%
帮助的人:4696万
展开全部
以编程的方式调用Button的点击事件
在Winform中,可以使用MyBtn.PerformClick()调用MyBtn的Click事件。
可以这样做:
using System.Windows.Automation.Peers;
using System.Windows.Automation.Provider;

private void DoButtonClick()
{
ButtonAutomationPeer bam = new ButtonAutomationPeer(MyBtn);
IInvokeProvider iip = bam.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
iip.Invoke();
}

调用Window的Close方法,通过这个方法去触发Closing事件,比如:
Xaml:
<Window x:Class="WindowClosingEvent.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
AllowsTransparency="false" WindowStyle="None"
Foreground="{x:Null}" Background="#FF626060"
Title="MainWindow" Width="400" Height="613" AllowDrop="True" Closing="Window_Closing" BorderThickness="2"WindowState="Normal">
<Grid>
<Button Click="Button_Click"/>
</Grid>
</Window>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
粉头和婧子
推荐于2018-04-12 · 超过22用户采纳过TA的回答
知道答主
回答量:65
采纳率:100%
帮助的人:26.2万
展开全部
第一步、绑定单击事件;
button1.Click+=new EventHandler(but_Click);
第二步、编写Click事件处理方法;
例如:
private void but_Click(object sender, EventArgs e)
{

//Click事件处理内容
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jamesfancy
2010-09-26 · TA获得超过532个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:312万
展开全部
你点按钮的时候,系统自动触发的。
或者你也可以调用按钮的PerformClick方法触发。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收破烂的小度
2010-09-26 · TA获得超过510个赞
知道小有建树答主
回答量:393
采纳率:0%
帮助的人:278万
展开全部
按钮上增加一个click事件 自动就会触发
你可以在初始化页面的时候添加一个click事件
比如

this.button1.Click += new System.EventHandler(button1_Click);

private void button1_Click(object sender, EventArgs e)
{

}

参考资料: 回答即可得两分,帮人就是帮自己!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式