TextBox貼り付け禁止


たこ朗  2005-05-20 21:20:34  No: 89940

[VB.NET]
TextBoxを貼り付け禁止にしたいと思っています

TextBoxを継承したクラスを作成し、WndProcをオーバーライドWM_PASTE等を
無効にすれば貼り付け禁止にできる事は確認しました
しかし、既存のTextBoxを全て作成したクラスに置き換えないといけません。
TextBoxクラスのままでWndProcをオーバーライドする方法はないのでしょうか?


じゃんぬねっと  URL  2005-05-20 21:54:44  No: 89941

コンテキスト メニューを無効にし、Ctrl + C、Insert などを無効化しては?


たこ朗  2005-05-20 22:49:29  No: 89942

ご指摘通りのやり方でできました。ありがとうございます

'--- 右クリック禁止
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


じゃんぬねっと  URL  2005-05-20 23:35:04  No: 89943

間違えた、Ctrl + V だった...


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加