[VB.NET]
TextBoxを貼り付け禁止にしたいと思っています
TextBoxを継承したクラスを作成し、WndProcをオーバーライドWM_PASTE等を
無効にすれば貼り付け禁止にできる事は確認しました
しかし、既存のTextBoxを全て作成したクラスに置き換えないといけません。
TextBoxクラスのままでWndProcをオーバーライドする方法はないのでしょうか?
コンテキスト メニューを無効にし、Ctrl + C、Insert などを無効化しては?
ご指摘通りのやり方でできました。ありがとうございます
'--- 右クリック禁止
Public Class DisableContextMenu
Public Shared Function Init(ByVal frm As Control) As Int32
For Each ctl As Control In frm.Controls
If TypeOf ctl Is TextBox OrElse TypeOf ctl Is ComboBox OrElse TypeOf ctl Is ListBox Then
ctl.ContextMenu = New ContextMenu
End If
Next
If frm.Controls.Count = 0 Then
Return 0
Else
For Each ctl As Control In frm.Controls
If Init(ctl) > 0 Then
End If
Next
End If
End Function
'--- CTRL+V 無効化
If Me.ModifierKeys = Keys.Control AndAlso msg.WParam.ToInt32 = Keys.V Then
Return True
End If
間違えた、Ctrl + V だった...
ツイート | ![]() |