I have a situation where I have 3 forms. I open Form2 from Form1 and Form3 from Form2
Form2 is shown as ModalForm, Form3 is not.
When I run this project in Windows, I can switch between Form2 and Form3 but I cannot go back to Form1 before I close Form2 (as expected).
In OSX, Form3 is opened behind Form2 and cannot be accesed(not expected) until I close Form2.
What is the usual design philosophy for Multi-platform projects?
Should I always open Childform in same state as parentform if the parentform is Modal?
I'd set this up where the non-modal form (
Form3) is opened from the main form (Form1). That way, there's no question about its parentage. I'd put a method intoForm2that's initialized fromForm1after it createsForm2but before it callsShowModalthatForm2uses to openForm3. Include any parameters in the call thatForm2needs to pass intoForm3.This approach eliminates the explicit circular reference between
Form1andForm2and keepsForm3independent ofForm2.