gpt4 book ai didi

c# - 如何检测在文本框的 c# keydown 事件中输入的多个键?

转载 作者:太空宇宙 更新时间:2023-11-03 19:26:55 27 4
gpt4 key购买 nike

我想在 silverlight 中设计一个数字文本框

我已经添加了 TextBox 的 keydown 事件处理按键

内部事件我验证在文本框中输入的 key 。

事件如下

  private void TextBox_KeyDown(object sender, KeyEventArgs e)
{
if (!this.Validate(sender,e))
e.Handled = true;
}

函数验证如下

  private bool Validate(object sender, KeyEventArgs e)
{

if (e.Key == Key.Enter) //accept enter and tab
{
return true;
}
if (e.Key == Key.Tab)
{
return true;
}

if (e.Key < Key.D0 || e.Key > Key.D9) //accept number on alphnumeric key
if (e.Key < Key.NumPad0 || e.Key > Key.NumPad9) //accept number fomr NumPad
if (e.Key != Key.Back) //accept backspace
return false;

return true;
}

我无法检测到 shift 和 Key.D0 到 Key.D1 即

SHIFT + 1 返回“!

SHIFT + 3 返回“#”,就像任何其他特殊键一样。

我不希望用户在文本框中输入特殊字符。

我该如何处理这个按键事件??

最佳答案

在 Silverlight 中,我认为 KeyEventArgs 类中没有任何 Modifier,而是在 Keyboard 中:

    public void KeyDown(KeyEventArgs e)
{
if (Keyboard.Modifiers == ModifierKeys.Control && e.Key == Key.D0)
{
ControlZero();
}
}

关于c# - 如何检测在文本框的 c# keydown 事件中输入的多个键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7950746/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com