gpt4 book ai didi

c# - 如何使文本框只接受字母字符

转载 作者:行者123 更新时间:2023-11-30 13:14:07 26 4
gpt4 key购买 nike

我有一个带有 maskedtextbox 控件的 Windows 窗体应用程序,我只想在其中接受字母值。

理想情况下,这会导致按字母键以外的任何其他键要么不会产生任何结果,要么会立即向用户提供有关无效字符的反馈。

最佳答案

这个问题可能在每个可以想到的编程论坛上都被问过和回答过一百万次。所提供的每个答案都对规定的要求具有独特性。

由于您使用的是 MaskedTextBox,因此您可以使用额外的验证功能,并且实际上不需要处理按键。您可以简单地将 Mask 属性设置为“L”(需要字符)或“?”之类的东西。 (可选字符)。为了向用户显示输入 Not Acceptable 反馈,您可以使用 BeepOnError 属性或添加工具提示来显示错误消息。此反馈机制应在 MaskedInputRejected 事件处理程序中实现。

MaskedTextBox 控件提供了一个 ValidatingType 属性来检查通过 Mask 要求但可能不是正确数据类型的输入。 TypeValidationCompleted 事件在此类型验证后引发,您可以处理它以确定结果。

如果您仍然需要处理按键事件,请继续阅读...!

在你的情况下我推荐的方法是,而不是处理 KeyDown 事件(你表面上不需要高级键处理能力)或使用 Regex 来匹配输入(坦率地说,矫枉过正),我会简单地使用 Char 结构的内置属性。

private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
Char pressedKey = e.KeyChar;
if (Char.IsLetter(pressedKey) || Char.IsSeparator(pressedKey) || Char.IsPunctuation(pressedKey))
{
// Allow input.
e.Handled = false
}
else
// Stop the character from being entered into the control since not a letter, nor punctuation, nor a space.
e.Handled = true;
}
}

请注意,此代码段还允许您处理标点符号和分隔键。

关于c# - 如何使文本框只接受字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790378/

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