【发布时间】:2013-12-05 14:27:57
【问题描述】:
我是 WinForms 的初学者,所以我想学习,
如何在文本框中禁用空格键?
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// MyTextBox.Text ...?
}
任何帮助将不胜感激。
【问题讨论】:
-
你不应该使用 keypressevent 来禁用按键。它不安全(例如:“ctrl + c”)。改用 Textchangedevent
-
@Pengu 你如何定义“不安全”?你是说它没有正确处理禁止粘贴操作在文本框中放置空格的事实吗?
-
@Corey 是的,这就是我的意思。但不仅如此 - 还有其他可能性,如“ALT + Code”,我可以想象还有更多的方法可以在没有 keypressevent 识别的情况下输入文本。
-
将 e.Handled 设置为 true。请注意,这实际上并不能阻止用户在文本框中放置空格,他可以使用粘贴。请改用 Validating 事件。
标签: c# winforms textbox keypress