De titel klinkt heel triviaal, maar dat is het niet, zo lijkt het.
Ik ben een tooltje aan het schrijven waarin zich een main form bevindt, en een dialog. Dat dialog ga ik weergeven met de ShowDialog() methode. Vervolgens zit er op dat dialoog een knop "background" die de hele zwik in de system tray gooit.
Dat doe ik op de volgende manier:
Wat is nou het probleem? Wat ik eerst constateerde, is dat de ShowDialog() aanroep returnt op het moment dat bovenstaande code wordt aangeroepen. Dat gebeurt bij zowel Visible op false instellen, als bij Hide() aanroepen. Dat lijkt me niet goed, want dan wordt het form volgens mij gesloten en niet verborgen. Tweede dat ik constateerde is dat als ik de forms weer wil unhiden, dan is Application.OpenForms.Count == 1, waarbij alleen het main form in die collection zit. Dus waar is dat dialog dan gebleven? De applicatie sluit ook niet. Hij staat volgens mij te wachten tot dat dialog op de een of andere manier sluit.
Dus, wat is hier aan de hand? Of doe ik het gewoon hartstikke fout?
Ik ben een tooltje aan het schrijven waarin zich een main form bevindt, en een dialog. Dat dialog ga ik weergeven met de ShowDialog() methode. Vervolgens zit er op dat dialoog een knop "background" die de hele zwik in de system tray gooit.
Dat doe ik op de volgende manier:
C#:
Dat stuk werkt, twee forms worden hidden. Maar als ik op de trayicon dubbelklik, moet eigenlijk het omgekeerde gebeuren.1
2
| foreach (Form form in Application.OpenForms) form.Visible = false; |
Wat is nou het probleem? Wat ik eerst constateerde, is dat de ShowDialog() aanroep returnt op het moment dat bovenstaande code wordt aangeroepen. Dat gebeurt bij zowel Visible op false instellen, als bij Hide() aanroepen. Dat lijkt me niet goed, want dan wordt het form volgens mij gesloten en niet verborgen. Tweede dat ik constateerde is dat als ik de forms weer wil unhiden, dan is Application.OpenForms.Count == 1, waarbij alleen het main form in die collection zit. Dus waar is dat dialog dan gebleven? De applicatie sluit ook niet. Hij staat volgens mij te wachten tot dat dialog op de een of andere manier sluit.
Dus, wat is hier aan de hand? Of doe ik het gewoon hartstikke fout?
日本!🎌