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);
}