将List的索引传递给按钮单击事件发送者

时间:2011-04-04 04:28:51

标签: c# wpf arrays list

我有一个List,每个Button都调用相同的Click函数

List<Button> btnList = new List<Button>;

// function to add a new button
Button btn = new Button();
btn.Click += showIndex_Click;
btnList.Add(btn);

private void showIndex_Click(object sender, RoutedEventArgs e)
{
     MessageBox.Show(???);  
}

click事件将显示发件人Button的索引。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

sender参数是触发事件的Button。您可以使用它在列表中搜索并查找其索引。

var button = sender as Button;
var index = btnList.IndexOf(button);

答案 1 :(得分:1)

此处单击btn将存储有关所单击按钮的所有信息。

所以你可以得到关于那个按钮的索引

private void showIndex_Click(object sender, RoutedEventArgs e)
{
     Button clickbtn = sender as Button;

     MessageBox.Show(???);  
}