2009-07-13 11 views
15

Ho trovato la proprietà Form.TopMost ma mette il modulo in cima a tutto, incluse cose che non fanno parte della mia app. Ho il sospetto che mi manchi qualcosa di ovvio qui. (È Form la classe di basi corretta per una finestra di dialogo non modale?)Come si fa a far sì che una forma resti sopra un'altra?

risposta

1

È possibile specificare le relazioni padre-figlio tra finestre fornendo il parametro padre come parametro al metodo ShowDialog() richiamato sul modulo figlio. La finestra secondaria rimarrà in cima al genitore e inoltre ridurrà a icona e ripristinerà insieme al genitore.

+0

Non riesco a utilizzare ShowDialog perché lo rende modale. – BCS

0

Se ho capito correttamente l'apertura di un modulo dall'applicazione e si desidera che il nuovo modulo sia in cima a quello vecchio.

Per fare questo è possibile utilizzare ShowDialog() e StartPosition

SomeForm MyNewForm = new SomeForm(); 
MyNewForm.ShowDialog(); 

questo farà che soggiorno sotto forma sulla parte superiore del un orignal, e si può anche usare

MyNewForm .StartPosition = FormStartPosition.CenterParent; 

Per controllare dove quel nuovo modulo mostra sullo schermo.

+0

Non riesco a usare ShowDialog perché lo rende modale. – BCS

6

È molto semplice; Devi solo passare il proprietario quando chiami il metodo Show()

YourForm.Show(parentForm); 
Problemi correlati