Domanda

Ho un modulo principale impostato su TopMost e quindi ho un altro modulo che si apre quando si fa clic su un pulsante. Anche questo modulo figlio è impostato su TopMost. Il primo problema che ho avuto è stato che quando ho aperto il modulo figlio, l'applicazione si bloccava perché non si poteva accedere a nulla. Ho deciso che invece di usare ShowDialog () per aprire il modulo figlio, avrei usato Show (questo). Questo ha risolto il problema iniziale ma ora ne ho uno nuovo. La postura iniziale di childforms è impostata su CenterParent e quando uso Show (questo), non funziona. Esiste un modo per rendere aperto il modulo figlio mentre sia il modulo principale sia il modulo principale sono impostati al massimo mentre la posizione iniziale del modulo figlio è impostata su CenterParent? Grazie.

È stato utile?

Soluzione

Potresti provare a cancellare la proprietà TopMost del modulo padre per la durata della visualizzazione del modulo figlio.

Questo risolverebbe il problema di quale forma dovrebbe essere la prima in assoluto, poiché ce ne sarà sempre una.

Altri suggerimenti

Ho trovato qualcosa di utile da condividere con voi, ragazzi. Invece seguendo il codice

form2.TopMost = true;

usa questo codice nella forma principale:

form2.Owner = this;

Se si utilizza la proprietà Form.TopMost, il modulo si sovrapporrà a tutti gli altri moduli non principali, ma anche a quelli di altre applicazioni. Invece di questo, imposta la proprietà Form.Owner sul modulo principale, quello che dovrebbe essere sotto il modulo (ad esempio il modulo principale). Buona fortuna :)

Hmm. Ho creato moduli. Quindi ho impostato TopMost = true su entrambi. Ho aggiunto il pulsante per primo e scritto new Form2 (). ShowDialog ();

E tutto bene. Form2 attivo e cliccabile. Form1 non da quando ShowDialog è stato chiamato

E la seconda variante funziona bene. Form2 aperto al centro dello schermo.

Posso essere frainteso qualcosa?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top