Come è possibile eseguire l'override delle funzioni di copia/incolla in un'applicazione Richtextbox C#. Includendo ctrl-c/ctrl-v e clic destro copia/incolla.Come eseguire l'override di copia e incolla in richtextbox
È un richtextBox WPF.
Come è possibile eseguire l'override delle funzioni di copia/incolla in un'applicazione Richtextbox C#. Includendo ctrl-c/ctrl-v e clic destro copia/incolla.Come eseguire l'override di copia e incolla in richtextbox
È un richtextBox WPF.
per ignorare il funzioni di comando:
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);
}
}
E tasto destro del mouse non è supportato in una WinForms RichTextBox
--EDIT--
Realizzata troppo tardi questa è stata una domanda WPF. Per fare questo in WPF è necessario collegare un costume Copia e incolla gestore:
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
}
ho usato questo:
//doc.Editor è RichTextBox
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)
{
}
Che dire Cut durante l'utilizzo Copia e incolla i gestori? Quando hai il tuo un'implementazione personalizzata di OnCopy e gestire da
e.Handled = true;
e.CancelCommand();
OnCopy è chiamata anche quando si fa Cut - non riesco a trovare il modo per scoprire se il metodo è stato chiamato a svolgere copiare o tagliare.
Anch'io, non so se è Copia o Taglia –
forme di Windows o WPF? –
per Windows Form: http://stackoverflow.com/questions/5618162/detecting-if-paste-event-occurred-inside-a-rich-text-box per WPF vedere qui: http: // StackOverflow .com/questions/3061475/paste-event-in-a-wpf-textbox –
@Davide, il collegamento WPF aggiunge un gestore, ma non lo sovrascrive. – raym0nd