Important Notice: Our web hosting provider recently started charging us for additional visits, which was unexpected. In response, we're seeking donations. Depending on the situation, we may explore different monetization options for our Community and Expert Contributors. It's crucial to provide more returns for their expertise and offer more Expert Validated Answers or AI Validated Answers. Learn more about our hosting issue here.

How can I make sure I don open a second instance modeless dialog that is already opened from my main form?

0
Posted

How can I make sure I don open a second instance modeless dialog that is already opened from my main form?

0

One way to do this is to maintain a list of opened modeless dialogs, and check this list before you open a new one to see if one is already present. If you open all these modeless dialog’s from the same ‘main’ form, then you can use the OwnedForms property of that main form to maintain this list of opened dialogs. Below are some code snippets that suggest how you must go about this. Note that your dialog forms need to be able to turn off the ownership. This is done below by adding an Owner field to the dialog form. //sample code that either opens a new dialog or displays an already opened dialog private void button1_Click(object sender, System.EventArgs e) { foreach ( Form f in this.OwnedForms ) { if (f is Form2) { f.Show(); f.Focus(); return; } } //need a new one Form2 f2 = new Form2(); this.AddOwnedForm(f2); f2.Owner = this; f2.Show(); } //code for form2 public class Form2 : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; public Form Owner; ……. ……. priv

Related Questions

What is your question?

*Sadly, we had to bring back ads too. Hopefully more targeted.

Experts123