>Ciao a tutti, vorrei disabilitare il click destro su alcune text,
>ho inserito un msgbox sull'evento mouseclick per vedere quando
>si verifica...ma non si verifica mai, possibile? Non succede
>niente nè con il destro nè col sinistro.
>Suggerimenti?
Ciao,
allora per disabilitare il tasto destro del mouse bisogna lavorare un po' in modalità vecchio stile. Devi crearti una classe nuova TextBox derivata in questo modo:
class MyTextBox : System.Windows.Forms.TextBox
{
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if (m.Msg == 0x204)
{
return;
}
base.WndProc(ref m);
}
}
Successivamente nel tuo progetto puoi istanziare questa nuova classe e aggiungerla alla form in questo modo:
MyTextBox t = new MyTextBox();
this.Controls.Add(t);
a questo punto il click con il tasto destro su una TextBox verrà ignorato.
Il meccanismo è semplice. Nel codice sopra ti innesti nel codice che gestisce i messaggi Windows che oggetti e finestre ricevono. Quando il controllo riceve il messaggio 0x204 equivalente al click down con il tasto destro fa un return quindi viene ignorato. Se sai un po' di programmazione Win32API ti sarà chiaro, se non sai niente capirai un po' meno.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/