Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/148.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#_Winforms - Fatal编程技术网

C# 创建全局方法以显示窗体

C# 创建全局方法以显示窗体,c#,winforms,C#,Winforms,我想创建一个全局方法showFrm(formformtoshow),我可以从项目中的任何地方访问它 我试过了 Form1 frm = new Form1(); frm.mdiParent=this; frm.show(); 将此方法放在“唯一父窗体”类中: public void ShowMdiChild(),其中T:Form,new() { var form=newt(); form.MdiParent=此; form.Show(); } 用法: public void ShowMdiCh

我想创建一个全局方法
showFrm(formformtoshow)
,我可以从项目中的任何地方访问它

我试过了

Form1 frm = new Form1();
frm.mdiParent=this;
frm.show();
将此方法放在“唯一父窗体”类中:

public void ShowMdiChild(),其中T:Form,new()
{
var form=newt();
form.MdiParent=此;
form.Show();
}
用法:

public void ShowMdiChild<T>() where T: Form, new()
{
    var form = new T();
    form.MdiParent = this;
    form.Show();
}
yourlonlyparentform.ShowMdiChild();
我还要提醒您,C#是区分大小写的。

将此方法放在“only parent form”类中:

public void ShowMdiChild(),其中T:Form,new()
{
var form=newt();
form.MdiParent=此;
form.Show();
}
用法:

public void ShowMdiChild<T>() where T: Form, new()
{
    var form = new T();
    form.MdiParent = this;
    form.Show();
}
yourlonlyparentform.ShowMdiChild();

我还要提醒您,C#是区分大小写的。

您遇到了什么错误?还有,方法,而不是函数。当然,您会得到一个错误,您会传递一个类型为的实例,然后尝试从中创建实例。那显然是不可能的。但是为什么需要这样做呢?要一次又一次地编写单行而不是3,您是否确定在调用
Show
之前始终使用相同的(无参数)构造函数,并且从不设置除
MdiParent
之外的任何内容?错误=找不到类型或命名空间名称“formToShow”(是否缺少using指令或程序集引用?)你犯了什么错误?还有,方法,而不是函数。当然,您会得到一个错误,您会传递一个类型为的实例,然后尝试从中创建实例。那显然是不可能的。但是为什么需要这样做呢?要一次又一次地编写单行而不是3,您是否确定在调用
Show
之前始终使用相同的(无参数)构造函数,并且从不设置除
MdiParent
之外的任何内容?错误=找不到类型或命名空间名称“formToShow”(是否缺少using指令或程序集引用?)
yourOnlyParentForm.ShowMdiChild<SomeForm>();