C# 中 代码Button tmp = (Button)sender 是什么意思,求高手解释!
5个回答
展开全部
首先,确定什么是sender
sender,是发送者的意思,在C#中,一般用于事件处理,作为参数传递来的,它代表着触发事件的对象,是事件委托的第一个参数.类型为最终基类object,就是说,这个sender可能是从object派生出的任何类型.
例如路由事件:
public delegate void RoutedEventHandler(
Object sender,
RoutedEventArgs e
)
假如有3个按钮的单击事件公用一个处理:
button1.Click += new System.EventHandler(this.button_Click)
button2.Click += new System.EventHandler(this.button_Click)
button3.Click += new System.EventHandler(this.button_Click)
private void button_Click(object sender, EventArgs e)
{
Button tmp = (Button)sender // 在这里,sender就是触发此次事件的按钮
// 由于sender是作为最终基类object类型的,要先吧它转成Button
tmp.Text = (Convert.ToInt32(tmp .Text) + 1).ToString(); // 那个按钮单击那个按钮显示数加1
}
sender,是发送者的意思,在C#中,一般用于事件处理,作为参数传递来的,它代表着触发事件的对象,是事件委托的第一个参数.类型为最终基类object,就是说,这个sender可能是从object派生出的任何类型.
例如路由事件:
public delegate void RoutedEventHandler(
Object sender,
RoutedEventArgs e
)
假如有3个按钮的单击事件公用一个处理:
button1.Click += new System.EventHandler(this.button_Click)
button2.Click += new System.EventHandler(this.button_Click)
button3.Click += new System.EventHandler(this.button_Click)
private void button_Click(object sender, EventArgs e)
{
Button tmp = (Button)sender // 在这里,sender就是触发此次事件的按钮
// 由于sender是作为最终基类object类型的,要先吧它转成Button
tmp.Text = (Convert.ToInt32(tmp .Text) + 1).ToString(); // 那个按钮单击那个按钮显示数加1
}
展开全部
从代码上看其实是把sender对象强制转换成按钮对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么说呢!!简单来说就是判断按钮点击了没!这样说容易明白点吧!不知道是不是这个意思!丢了很久
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
取得按钮的对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
参考资料: http://zhidao.baidu.com/question/202621134.html?si=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询