private void button2_Click(object sender, RoutedEventArgs e) { }
最近看WPF内容,回顾下.net大家天天都在用,却不是十分关注的一个对象----sender
问:sender到底是什么呢?
答:所有的服务器控件中事件都会有(可能说的太绝对,应该说大多会吧),sender指的是触发事件的控件。
private void button2_Click(object sender, RoutedEventArgs e) { Button btn = (Button)sender;//方法一 btn.Content = "kick ME!@"; //button2.Content = "kick ME";//方法二 }
下面就是讲解sender的核心了,什么是触发事件的控件呢?
界面上有二个按钮(此为WPF程序,当2个按钮都绑定一个click事件button2_Click↑)。
如果按照button2_Click这个事件的方法一去给button改名称。点"按钮一"会变成"kick ME!@",点"按钮二"也会变成"kick ME!@",这就是说明sender指的是触发事件的控件!
如果按照button2_Click这个事件的方法二去给button改名称。点"按钮一"会使按钮二变成"kick ME!@",点"按钮二"则不会有任何反应