Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Tab Control
lunedì 27 febbraio 2006 - 18.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
device78
Profilo
| Junior Member
76
messaggi | Data Invio:
lun 27 feb 2006 - 18:38
Salve.
Vorrei usare questo controllo ma non l'ho mai usato è ho un problema.
Devo realizzare una procedura fatta di tre passi distinti quindi aggiungo tre pagine.
Il passaggio da un apgina all'altra deve avvenire solo con la pressione di un pulsante da me gestito.
Come fare per "disabilitare" il click del mause che ti permette di passare da un pagina all'altra cliccando sul nome della pagina stessa in alto?
Spero di essermi spiegato.
grazie
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
lun 27 feb 2006 - 19:48
Ciao.
Provo a risponderTi io, sperando che qualcuno più esperto in materia veda la risposta e possa, eventualmente, correggere qualche errore.
Dunque, il TabControl è un oggetto, e come tale risponde a tanti eventi, che sono i "delegates" definiti nella classe... Ma, nel Tuo programma, devi "ridefinire" questi delegates, per fare in modo che l'oggetto che hai disegnato sulla maschera risponda all'evento.
Nel costruttore della classe Form (IntializeComponent) devi aggiungere queste righe, che Ti permetteranno di gestire due eventi associati all'ggetto, ovvero la selezione di un tab (quindi DURANTE la selezione) e il cambio di tab selezionato (DOPO averlo selezionato).
this.tabControl1.SelectedIndexChanged += new EventHandler(tabControl1_SelectedIndexChanged);
this.tabControl1.Selecting += new TabControlCancelEventHandler(tabControl1_Selecting);
Poi, nella Tua form, dovrai inserire i metodi che gestiranno questi eventi :
void tabControl1_Selecting(object sender, TabControlCancelEventArgs e)
{
TabControl tc = (TabControl)sender;
if (tc.SelectedIndex > 2) e.Cancel = true;
}
void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.tabControl1.SelectedIndex > 2) tabControl1.SelectedIndex = 1;
}
Il primo è più fine, nel senso che annulla la richiesta dell'utente che vuole selezionare un tab di indice superiore a 1. Il secondo, un po' meno bello, Ti riporta sul tab #1 se ne hai selezionato uno superiore a quello di indice 2. Quest'ultima possibilità è meno bella da usare, poiché vedrai il controllo "sfarfallare" : si posiziona effettivamente sul tab selezionato, per tornare indietro.
La prima mi sempbra un po' più carina...
Ciao
fg
Fabio G
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !