Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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/1/typo3/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中的方法关闭特定窗体#_C#_Forms_Methods - Fatal编程技术网

C# 使用C中的方法关闭特定窗体#

C# 使用C中的方法关闭特定窗体#,c#,forms,methods,C#,Forms,Methods,嗨,我的项目中有一些表单,我想做一个关闭其中一个表单的方法。 方法是: public static void close_form (Form frm) { frm.Close(); } 我是这样用的: public partial class myForm : Form { close_form(myForm); } 但是,当我想运行应用程序时,我得到一个错误: myForm是一个“类型”,但使用起来像一个“变量” 我做错了什么?是否有另一种方法可以在不使用this.clos

嗨,我的项目中有一些表单,我想做一个关闭其中一个表单的方法。 方法是:

public static void close_form (Form frm)
{
    frm.Close();
}
我是这样用的:

public partial class myForm : Form
{
   close_form(myForm);
}
但是,当我想运行应用程序时,我得到一个错误:
myForm
是一个“类型”,但使用起来像一个“变量”


我做错了什么?是否有另一种方法可以在不使用
this.close()
的情况下
关闭
表单?

您正在传递表单的类型,即
myForm
您需要传递类型的对象,您可以传递

这里的
myForm
是从
Form
type继承的新类型,不是当前表单的实例。关键字
this
表示类的当前实例,您可以将其传递到
close\u form
您可以阅读更多关于此的信息


如果函数只有一条语句来关闭表单,则没有理由通过调用函数来关闭表单,除非您这样做是为了学习,或者您可能有理由通过函数关闭表单,如记录一些信息,如关闭表单名称和时间等。您只需调用
此。关闭
而不调用
close\u表单
并将当前表单传递给它。

当然,完全不清楚为什么它优于
this.close()
。你说得对,显然没有理由用这种方式关闭表单而不是使用这种方式。Close但是IMO Close\u表单是一种静态方法,可以从其他类/表单调用,可以执行一些常见的过程,如日志记录。为什么你要避免直接调用
Close
方法?
public partial class myForm : Form
{
   close_form(this);
}