Search code examples
c#winformsshowdialog

ShowDialog() while another form is visible through ShowDialog() as well, closes both?


I have the following situation:

  1. ParentForm which opens WelcomeForm with ShowDialog.
  2. WelcomeForm contains a Button which opens NewProjectForm with ShowDialog
  3. When the user hits OK on NewProjectForm, a new project is created and both forms are closed (good behaviour)
  4. When the user hits CANCEL on NewProjectForm, both forms are closed (understandable behaviour, but not desireable).

I suspect this somehow has something to do with DialogResult (which is actually DialogResult.None on CANCEL and NewProjectForm)

How can I get the above situation without both forms closing?

Edit
Code used to open NewProjectForm:

ProjectNew projectNew = new ProjectNew();
projectNew.StartPosition = FormStartPosition.CenterParent;
projectNew.ShowDialog(this);

Code used to open WelcomeForm:

Welcome welcome = new Welcome();
welcome.StartPosition = FormStartPosition.CenterParent;
welcome.ShowDialog(this);

Note: NewProjectForm is not opened by Welcome but by ParentForm

Edit 2
Strange stuff; I created a new project with the same code/situation, which doesn't reproduce this behaviour...


Solution

  • Removed a couple of buttons, added a new one: solved.
    So I think it should have been a DialogResult somehow, weird stuff.