eso es posible, puede interceptar el mensaje de Windows de bajo nivel que el TextBox
control nativo se que le dice que pegue desde el portapapeles. El mensaje WM_PASTE
. Se genera cuando presiona Ctrl + V con el teclado o utiliza el comando Pegar del menú contextual. Lo atrapa anulando el método WndProc()
del control, realizando el pegado como desee y no páselo a la clase base.
Agregue una nueva clase a su proyecto y copie/pegue el código que se muestra a continuación. Compilar. Coloque el nuevo control desde la parte superior de la caja de herramientas en su formulario, reemplazando el existente.
using System;
using System.Windows.Forms;
class MyTextBox : TextBox {
protected override void WndProc(ref Message m) {
// Trap WM_PASTE:
if (m.Msg == 0x302 && Clipboard.ContainsText()) {
this.SelectedText = Clipboard.GetText().Replace('\n', ' ');
return;
}
base.WndProc(ref m);
}
}
comprobar éste: http://stackoverflow.com/questions/3446233/hook-on-default-paste-event-of-winforms-textbox-control –