2011-08-30 28 views
7

リッチテキストボックスC#アプリケーションのコピー/貼り付け機能をオーバーライドする方法を教えてください。 ctrl-c/ctrl-vを含め、右クリックのコピー/貼り付けをクリックします。リッチテキストボックスのコピーと貼り付けをオーバーライドする方法

これはWPF richtextBoxです。

+0

windowsフォームまたはWPF? –

+0

for Windowsフォーム:http://stackoverflow.com/questions/5618162/detecting-if-paste-event-occurred-inside-a-rich-text-box for WPFここをクリックしてください:http:// stackoverflow .com/questions/3061475/paste-event-in-a-wpf-textbox –

+0

@Davide、WPFリンクはハンドラを追加しますが、それをオーバーライドしません。 – raym0nd

答えて

17

コマンド機能を無効にするには、次の

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 
{ 
    if (keyData == (Keys.Control | Keys.C)) 
    { 
    //your implementation 
    return true; 
    } 
    else if (keyData == (Keys.Control | Keys.V)) 
    { 
    //your implementation 
    return true; 
    } 
    else 
    { 
    return base.ProcessCmdKey(ref msg, keyData); 
    } 
} 

、右クリックが遅すぎる、これはWPFの質問に気づいたWinformsのリッチテキストボックス

--EDIT--

ではサポートされていません。使用している間
//doc.Editorは、リッチテキストボックス

DataObject.AddPastingHandler(doc.Editor, new DataObjectPastingEventHandler(OnPaste)); 
DataObject.AddCopyingHandler(doc.Editor, new DataObjectCopyingEventHandler(OnCopy)); 



    private void OnPaste(object sender, DataObjectPastingEventArgs e) 
    { 

    } 
    private void OnCopy(object sender, DataObjectCopyingEventArgs e) 
    { 

    } 
+0

あなたはWPFでそれを行う方法を知っていますか? – raym0nd

+0

@ raym0nd:自分のコードを更新しました。 –

+0

@Ediwnあなたが持っているWPFのものはハンドラを追加しますが、メインのコピー/ペーストのものをオーバーライドしません。まだ呼び出されています。 – raym0nd

1

私はこれを使用:WPFでこれを行うには、カスタムコピーと貼り付けハンドラをアタッチする必要があります。ハンドラをコピーして貼り付けますか? あなたはOnCopyのカスタム実装を持っていて、カットをするときにも呼ばれ

e.Handled = true; 
e.CancelCommand(); 

OnCopyでそれを処理するとき - 私は、メソッドがコピーを実行するために呼び出されるか、切断されたかどうかを確認する方法を見つけることができません。

4

何カットについてです:

DataObject.AddPastingHandler(myRichTextBox, MyPasteCommand); 
DataObject.AddCopyingHandler(myRichTextBox, MyCopyCommand); 

private void MyPasteCommand(object sender, DataObjectEventArgs e) 
{ 
    //do stuff 
} 

private void MyCopyCommand(object sender, DataObjectEventArgs e) 
{ 
    //do stuff 
} 
+1

私もそれはコピーかカットかわかりません –

関連する問題