Quando si posiziona più di un controllo nello stesso posto, uno finirà in cima e l'altro finirà sotto. Di solito questo è il risultato di un errore minore, come l'uso scorretto delle funzioni di ancoraggio e di ancoraggio per creare una forma ridimensionabile. In alcuni casi, tuttavia, potresti voler sovrapporre il controllo per un effetto specifico.
Quando il controllo di sovrapposizione, è l'indice z che determina quale controllare finisce sul top.Essentially, ogni existy controllo nella propria distinta controllo layer.A numerata che ha lo strato indice z 1 verrà visualizzato sopra un controllo in z-index layer 2 se si sovrappongono. Di solito, l'indice z di un gruppo di controlli è determinato dall'ordine in cui si aggiungono i controlli, in modo che l'ultimo controllo che si aggiunge sia sempre nel livello più in alto (con una z- indice di 0).
Tuttavia, è possibile modificare queste opzioni.
Per determinare o impostare l'indice z di un controllo, è possibile utilizzare i metodi GetChildIndex()
e SetChildIndex()
della raccolta Controls. Ecco un esempio che sposta un controllo sul terzo livello nello z-index.
Controls.SetChildIndex(ctrl, 2);
Di solito, non avrete bisogno di questo tipo di ritrovamento a grana control.Instead, si vorrà solo far cadere un controllo per la parte posteriore della z-index (il livello più in basso) o portare in alto. È possibile eseguire questa funzione in fase di progettazione facendo clic con il pulsante destro del mouse su un controllo e scegliendo Porta a Fron o Porta in secondo piano. È anche possibile eseguire la stessa operazione a livello di programmazione utilizzando i metodi Control.BringToFront()
o Control.SendToBack()
.
ctrl.BringToFront(); // This is equivalent to Controls.SetChildIndex(ctrl,0);
L'ho trovato utile. Ho trovato anche GetChildIndex per capire in fase di esecuzione quale controllo è in primo piano. Grazie. –