2010-05-28 44 views
0

如何防止複製&在蒙面編輯文本框中粘貼任何文本[使用右鍵單擊以及Ctrl + C和Ctrl + v鍵]在C#/ vb.net?防止在C#/ vb.net中的蒙面編輯文本框中複製和粘貼

+0

我還沒有必要使用蒙面編輯文本框,但它似乎像防止複製/粘貼與掩蓋文本齊頭並進。它真的不會阻止它,或者至少提供一個設置來做到這一點? – jamone 2010-05-28 14:30:21

回答

0

TextBox繼承並重寫WndProc方法:

private const int WM_CUT = 0x0300; 
private const int WM_COPY = 0x0301; 
private const int WM_PASTE = 0x0302; 

protected override void WndProc(ref Messsage m) 
{ 
    if (m.Msg == WM_CUT || m.Msg == WM_COPY || m.Msg == WM_PASTE) 
     return; 
    base.WndProc(ref m); 
} 

還應防止複製/粘貼從上下文菜單中

0

for ctrl + v/c您需要繼承TextBox類並覆蓋函數ProcessCmdKey 然後僅在未按下ctrl + c或ctrl + v時調用基類。

1

你可以用你自己的上下文菜單中禁用鼠標點擊替換默認上下文菜單做然後一邊控制鍵被處理KeyDown事件和喜歡寫代碼按你可以只是停止任何鍵盤輸入:

If e.Modifiers = Keys.Control Then 
    e.Handled = True 
End If 
0

將ShortboxEnabled文本框的屬性設置爲False。 缺點: 這也會阻止該文本框的Ctrl + A和右鍵單擊菜單。

相關問題