Come mantenere una finestra su tutte le altre windows della mia applicazione?

Vorrei visualizzare una finestra di stato nella mia applicazione C # Windows Form che informa l’utente quando l’applicazione è in attesa di acquisire un blocco. Questa è una cosa definita dall’applicazione, tuttavia, la finestra dovrebbe essere visibile e rimanere sempre in cima a tutte le altre windows della mia applicazione, anche quando l’utente fa clic su un’altra finestra (come ad esempio la finestra principale più grande dietro di essa).

Non deve essere modale (quindi non è ansible utilizzare ShowDialog () perché l’app deve continuare a provare in background e chiudere automaticamente la finestra se il blocco potrebbe essere acquisito, e in realtà non dovrebbe essere il massimo per l’intera finestra stazione (ovvero tutte le applicazioni in esecuzione in quella sessione terminale).

Conosco la proprietà Form.TopMost, ma può solo portare e mantenere una singola finestra sopra tutte le altre, anche quelle provenienti da altre applicazioni. Questo non è chiaramente quello che sto cercando.

So che questo è ansible, l’ho visto molte volte in altre applicazioni. Semplicemente non so come possa essere fatto.

    Se si passa il modulo principale nel metodo Show del modulo di stato, rimarrà in cima al modulo principale, ma non in cima ad altre applicazioni. Quindi, nella forma principale puoi avere il codice in questo modo:

     StatusForm statusForm = new StatusForm(); statusForm.Show(this); 

    Tuttavia, questo indicherà solo una singola finestra della tua applicazione come proprietario.

    È necessario impostare la Owner Proprietario del modulo figlio sul modulo padre e utilizzare Show per mostrare il modulo figlio.