[英]How to prevent a TextBox to accept Unicode control characters?
我有不希望最终用户向 Windows.Forms.TextBox 输入 Unicode 控制字符的情况是“插入Unicode控制字符->”,可以在TextBox中插入一些Unicode控制字符。
有没有人知道如何禁用或隐藏这些菜单->“插入 Unicode 控制字符”,“显示 Unicode 控制字符”。
即使您禁用此上下文菜单条目,用户仍然可以使用复制和粘贴或使用 Alt-Numpad 输入各种奇怪的字符。 如果您想将输入严格限制在 AZ,您可以使用MaskedTextBox控件。
如果需要更细粒度的控制,可以处理 TextBox.KeyPress 事件。 可以在以下 SO 问题中找到此技术的示例:
覆盖您的文本框ContextMenu
。
设计您自己的ContextMenu
并仅在其上实现您想要的功能。 然后将该contextMenu
分配给您的textBox
: myTextBox.ContextMenu = myContextMenu;
为了增加 Jalal 的答案,
var contextMenu = new ContextMenu();
contextMenu.MenuItems.Add(new MenuItem("Copy", (s, ea) => textBox1.Copy()));
contextMenu.MenuItems.Add(new MenuItem("Paste", (s, ea) => textBox1.Paste()));
contextMenu.MenuItems.Add(new MenuItem("Undo", (s, ea) => textBox1.Undo()));
contextMenu.MenuItems.Add(new MenuItem("Select All", (s, ea) => textBox1.SelectAll()));
....
textBox1.ContextMenu = contextMenu;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.