0

我的 winforms 项目中有 3 个表单,它们都有一个按钮,可以触发打开 Form2 的相同代码。我需要通过将此代码放在同一个项目内的类文件中或将其放入单独的类库中来集中代码。现在代码在下面的相同形式中:

frm1 entryform = (frm1)Application.OpenForms["frm1"];

if (entryform == null)
{
    entryform = new frmMainMenu();
}
entryform.StartPosition = FormStartPosition.Manual;
entryform.Location = this.Location;
entryform.Show();

this.close();

当我将此代码从 Form1、Form2、Form3 移动到通用表单时,我无法访问调用表单来替换行this.close(); 是否有类似 Method.CallingForm.Close() 的属性或 c# 中的其他内容?请帮忙

我不想将表单作为参数传递。表格太重,无法通过。还有其他选择吗?

4

2 回答 2

2

您不必担心将表单作为参数传递,因为它很重。

表单是一种引用类型,不会导致任何性能下降。

如果您想考虑最佳实践,您应该让您的中心类在需要关闭表单时触发一个事件。

于 2012-04-27T03:01:43.947 回答
0

将表单作为参数传递。

表格不要太重,因为您传递的只是对表格的引用,而不是整个表格。

于 2012-04-27T03:03:18.710 回答