当mousedown事件发生时按钮识别

时间:2014-12-21 03:39:12

标签: c# wpf button mousedown identification

我有动态添加一些按钮的代码,这些按钮有mousedown事件。 当我点击按钮时,mousedown函数被调用。 我想确定在此事件功能中单击的按钮。 Button.Name属性是有限的字符串值。

我想要更低的代码。

...
Button btnTest = new Button();
btnTest.identificationvalue="111.";
btnTest.MouseDown+=new MouseButtonEventHandler(deletec);
...
private void deletec(object sender, RoutedEventArgs e)  
{
    string idvalue=((Button)sender).identificationvalue;
    if ( idvalue== "111.")
    {

    }
    else if (idvalue == "110.")
    {

    }
    ...
}
...

1 个答案:

答案 0 :(得分:1)

根据我对您的问题的解释,您希望每个按钮都有一个唯一的标识符,可用于确定sender方法中哪个按钮分配给deletec。为此,我将使用Button.Tag属性,如MSDN参考页(Control.Tag Property)中所述,"获取或设置包含控件数据的对象。&#34 ; (编辑:这是Won Hyoung Lee在我最初撰写此答案时的评论中提出的。)

另一种可能性是使用Button.Text属性,尽管这取决于应用程序的上下文。

此外,如果要采用这种方法,而不是使用if-else语句,那么使用switch语句会更清晰,即:

switch (id)
{
    case 111:
        // do something
        break;
    case 112:
        // do something else
        break;
    ...
}