|
■No94761 (ジョシュ さん) に返信 > 大変申し訳ないのですが、いただいた記述を使用する場所がわからないです。
適当なボタンを用意して、そこの Click イベントに書いても良いですし、 右クリックのコンテキストメニューを追加しても良いでしょう。
[Shift]+[Insert] や [Ctrl]+[V] などを捕らえたいのであれば、 RichTextBox の ProcessCmdKey メソッドをオーバーライドします。
Public Class RichTextBoxEx Inherits RichTextBox Protected Overrides Function ProcessCmdKey(ByRef m As Message, keyData As Keys) As Boolean Dim modifiers As Keys = keyData And Keys.Control Dim keyCode As Keys = keyData And Keys.KeyCode
Dim isShiftInsert = (modifiers = Keys.Shift AndAlso keyCode = Keys.Insert) Dim isControlV = (modifiers = Keys.Control AndAlso keyCode = Keys.V) If isShiftInsert OrElse isControlV Then For Each fmt In New String() {"UnicodeText", "Text", "System.String"} Dim dataFormat = DataFormats.GetFormat(fmt) If CanPaste(dataFormat) Then Paste(dataFormat) Return True End If Next End If Return MyBase.ProcessCmdKey(m, keyData) End Function End Class
|