Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中打开现有表单?_C#_Visual Studio - Fatal编程技术网

如何在C#中打开现有表单?

如何在C#中打开现有表单?,c#,visual-studio,C#,Visual Studio,所以我正在制作一个视频编辑器,我希望程序在创建文件时打开一个新窗口。因此,我创建了一个新表单,并写了如下内容: Form fm=create_file();fm.Show() 我得到一个错误,说create_file不能用作方法。我试着删除括号,它说这在当前上下文中是不正确的。我该怎么做呢?首先你应该写: Form fm = new create_file(); 然后: 从表单fm创建对象时,不要忘记写入新建 public Form FormIsOpen(string name) {

所以我正在制作一个视频编辑器,我希望程序在创建文件时打开一个新窗口。因此,我创建了一个新表单,并写了如下内容:
Form fm=create_file();fm.Show()


我得到一个错误,说create_file不能用作方法。我试着删除括号,它说这在当前上下文中是不正确的。我该怎么做呢?

首先你应该写:

Form fm = new create_file();
然后:

从表单fm创建对象时,不要忘记写入新建

public Form FormIsOpen(string name)
{
        FormCollection forms = Application.OpenForms;
        foreach (Form form in forms)
            if (form.Name.Equals(name))
                return form;

        return null;
 }

 public void OpenForm(Form instance, string name)
 {
        Form form = FormIsOpen(name);
        if (form == null)
            instance.Show();
        else
        {
            instance.Dispose();

            form.Show();
            form.WindowState = FormWindowState.Maximized;
            form.Activate();
        }
  }
您可以使用下面的代码调用

OpenForm(new MyForm(), nameof(MyForm));

你能展示一下
创建文件
的实现吗?我们不知道它是什么。如果
create_file
是表单的名称,那么您需要
form fm=new create_file()
@Charlieface ok现在可以了谢谢也应该在
块中使用
或以其他方式处理
OpenForm(new MyForm(), nameof(MyForm));