I'm looking for a better way to handle having 3 different user interface screens in one main application window. Basically only one of the screens needs to be active at any given point. The application is a card game similar to MSHearts. The three screens will be:
- a setup screen (Number players, names, network setup)
- main card playing screen( deal, play cards, count tricks)
- a score screen (scores for last game, previous game, totals, etc.)
I've tried disabling a form full of all the controls for one screen and generating all the controls for the second screen in a second form. This worked but I ended up with two entries on the windows taskbar and some of windows maximize, move, resize, restore functionality behaved in unexpected ways when switching between screens. With some extra code to fix the taskbar issue and sync the move/restore locations between all three forms this could work... but isn't there a simpler way?
Another thought I had was to reuse the same form and just disable or enable the different sets of controls as needed. I'm sure this would work, but it will likely be a pain to maintain. Two of the screens will have a 100's of controls on them.
I also cound have the "PlayGame" as the main form and pop-up the "Setup" and "Scores" forms as needed - but that seems to make it difficult to allow standard windows minimize, restore, move, etc. functions to affect the whole program.
What other techniques are there to do this?
I'm currently using firefly on this project, but I could go back to DDT if that will make it simpler.
- a setup screen (Number players, names, network setup)
- main card playing screen( deal, play cards, count tricks)
- a score screen (scores for last game, previous game, totals, etc.)
I've tried disabling a form full of all the controls for one screen and generating all the controls for the second screen in a second form. This worked but I ended up with two entries on the windows taskbar and some of windows maximize, move, resize, restore functionality behaved in unexpected ways when switching between screens. With some extra code to fix the taskbar issue and sync the move/restore locations between all three forms this could work... but isn't there a simpler way?
Another thought I had was to reuse the same form and just disable or enable the different sets of controls as needed. I'm sure this would work, but it will likely be a pain to maintain. Two of the screens will have a 100's of controls on them.
I also cound have the "PlayGame" as the main form and pop-up the "Setup" and "Scores" forms as needed - but that seems to make it difficult to allow standard windows minimize, restore, move, etc. functions to affect the whole program.
What other techniques are there to do this?
I'm currently using firefly on this project, but I could go back to DDT if that will make it simpler.
Comment