c#按钮事件中的sender,和e有啥用,见别人用过,不过不是很理解
privatevoidDigitBtn_Click(objectsender,RoutedEventArgse)...
private void DigitBtn_Click(object sender, RoutedEventArgs e)
展开
3个回答
展开全部
答案:
纠正一下最佳答案的细节sender并不是引发这个事件的object。而是事件的路由过程中,最近一个经过的对象。
解释:
wpf中,事件是会被路由转发的。在这个过程中,事件会经过一系列的控件。sender中保存的是此事件上一个经过的对象。
如果要得到引发这个事件的控件,应该使用e.OriginalSource或者e.Source。这两个的区别这里不讲。
如果处理函数是在按钮的Click属性中注册的。那么按按钮,sender中存的是按钮的引用。这没错
但是如果按的按钮包含在一个Grid中。然后你在Grid中注册事件处理函数:
grid.AddEventHandler(Button.ClickEvent,new RoutedEventHandle(Func))
//grid是Grid的实例Func是用来处理事件的函数
那么你在Func函数中得到的sender则是grid对象。
对于那个e,有用的主要就是e.OriginalSource,e.Source和e.Handled这几个属性了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
object sender是事件源对象。
RoutedEventArgs e是个事件参数。
RoutedEventArgs e是个事件参数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询