我创造了许多银色按钮: -
string b = "Button";
for (int i = 0; i < 10; i++)
{
Button btn = new Button();
btn.Name = b+i.ToString();
btn.FontSize += 2;
btn.Content = "Click Me " ;
btn.Click += new RoutedEventHandler(btn_Click);
stack.Children.Add(btn);
}
LayoutRoot.Children.Add(stack);
在按钮点击事件中,我想获取按下的按钮的名称。我曾希望如此
string snd = sender.ToString();
将产生信息,但它提供的只是System.Windows.Controls.Button。谁能请帮忙。感谢。
答案 0 :(得分:7)
您需要将sender
投射到按钮上。
public void btn_Click(object sender, EventArgs e)
{
var btn = (Button)sender;
Console.WriteLine(btn.Name);
}
答案 1 :(得分:4)
public void btn_Click(object sender, EventArgs e)
{
var b = sender as Button;
if (b != null)
{
var name = b.Name;
// do something with name
}
}
答案 2 :(得分:0)