在系列中调用Form.Show()

时间:2011-12-15 22:33:17

标签: c#

大家。 如何一个接一个地调用多个表单(意味着在前一个表单关闭后调用新表单)。 我写了这样的东西;

Form1.Show();
Form2.Show();

它自然导致同时打开两种形式。如何使功能等待第一种形式被关闭?

1 个答案:

答案 0 :(得分:2)

打开一个表单,处理FormClosed事件,然后从中打开第二个表单。请注意,这只是必要的,因为您的表单不是模态的。如果您使用ShowDialog(),则在第一个表单关闭之前,调用将不会返回,并且您的代码将按照当前结构的方式运行。

如果您需要非模态行为(即,您的用户必须能够在拥有的表单打开时与所有者表单进行交互),请使用以下内容:

// very simplistic example...
Form1 frm = new Form1();
frm.FormClosed += delegate { new Form2().Show(); }
frm.Show();