簡體   English   中英

如何防止文本框接受 Unicode 控制字符?

[英]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分配給您的textBoxmyTextBox.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM