多次使用同一事件

时间:2014-07-29 20:50:01

标签: c# wpf

我想知道是否可以多次使用同一事件。我有一个comboBox,当选择项目A时,我只希望用户输入数字。另一方面,如果用户选择项目B,我想允许用户仅在同一文本框中输入字母。我正在使用“PreviewTextInput”事件并知道如何制定这些限制,例如:

 private void textBoxKun_PreviewTextInput(object sender, TextCompositionEventArgs e)
    {
        Regex regex = new Regex("[^0-9]+");
        e.Handled = regex.IsMatch(e.Text);
    }

但我如何实现我想要的功能?

2 个答案:

答案 0 :(得分:1)

这看起来很简单,我会冒险回答。请注意,您的问题不完整。你真的需要指定A和B的项目。

private void textBoxKun_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    Regex regex = null;
    if ( A.isChecked ) {
        regex = new Regex("[^0-9]+");
    } else {
        regex = new Regex("[^A-Za-z]+");
    }
    e.Handled = regex.IsMatch(e.Text);
}

答案 1 :(得分:0)

如果我理解你的问题,你正在寻找的功能似乎是"如果"关键字;)

只需检查组合的SelectedValue(或SelectedItem,或SelectedText,根据您的需要),看看它是A还是B,并根据它做正确的事情。

if (combo.SelectedText == "A")
   dosomething();
else if (combo.SelectedText == "B")
   dosomethingelse();

在您的活动中。

如果我误解了这个问题,请更好地解释一下......