从第三种形式打开第二种形式

时间:2015-04-28 23:08:30

标签: c# winforms

我有3个表格。第二个是显示帮助,第三个是模态对话框。

在Form1中我有:

Form2 HelpForm = new Form2();
Form3 EditForm = new Form3();

和一个帮助菜单:

HelpForm.Show();

我想从Form3中的控件中显示HelpForm。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

帮助是全球性的(如果您的应用程序增长),它应该可以在任何地方访问。所以也许帮助你的单身人士会有所帮助!

class Help
{
   private static Form helpForm = null;
   static void ShowHelp {
     if (helpForm == null)
        helpForm = generateHelpForm(); //TODO implement

     helpForm.Show();
 }

从任何地方访问它......

// somewhere in formx
Help.ShowHelp();

答案 1 :(得分:0)

在EditForm的构造函数中传递HelpForm对象,并在私有变量中分配相同的对象。使用变量在需要时调用show。

Form2 HelpForm = new Form2();
Form3 EditForm = new Form3(HelpForm);
 .....
EditForm.ShowHelp();

使用Form3:

 Class Form3
 {
    private Form2 helpForm = null;

     public Form3(Form2 HelpForm)
      {
          helpForm = HelpForm;
       }

       public void ShowHelp()
      {
          helpForm.Show();
       }
    }

答案 2 :(得分:0)

作为选项,您可以使用Application.OpenForms

FormCollection fc = Application.OpenForms;

if (fc.OfType<Form3>().Any())
{
   fc.OfType<Form3>().First().Show();
}