Comment puis-je remplacer les fonctions de copie / pâte dans une application RichTextbox C #. Y compris CTRL-C / CTRL-V et clic droit Copier / Coller. P>
C'est WPF RichTextBox. P>
3 Réponses :
Pour remplacer les fonctions de commande:
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 }
Savez-vous comment faire cela dans WPF?
@Ediwnle WPF des choses que vous avez, ajoute un gestionnaire mais ne remplace pas les principales pâtes, elles sont toujours appelées
@ Raym0nd: Vous pouvez ajouter 'E.CancelCommand ();' Pour empêcher la copie / colle par défaut ...
@EdWindekoning pour les formulaires Windows, cette approche pourrait fonctionner pour CTRL + V, mais pas Shift + Insérer, qui est également une combinaison de clé de pâte standard. Bien sûr, en utilisant votre exemple, il serait plus facile d'étendre la solution pour l'appuyer.
J'ai utilisé ceci:
//doc.editor est la RichTextbox
Qu'en est-il de la coupe lors de la copie et de coller des gestionnaires? Lorsque vous avez la mise en oeuvre personnalisée de OnCopy et que vous le gérez par
e.Handled = true; e.CancelCommand();
Moi aussi, je ne sais pas si c'est copier ou couper
Pour les formulaires Windows: Stackoverflow.com/questions/5618162/... pour WPF voir ici: Stackoverflow.com/Questtions/3061475/...
@Davide, le lien WPF ajoute un gestionnaire, mais cela ne le remplace pas.