【发布时间】:2016-12-22 13:57:16
【问题描述】:
好的,这是我的第一个 Windows 窗体应用程序,我在重新构建代码时遇到了一些困难。开始把所有东西都放在默认提供的Form1 类中,它已经变得太大了。我知道这是一个非常糟糕的编程实践,所以我开始进行一些清理并制作不同的类以满足单一责任原则。然而,由于一些按钮相关和网格相关的事件在 Form1 类中运行良好,将它们带到外面会使它们崩溃,我不知道应该如何完成。
public partial class Form1
{
public Form1()
{
InitializeComponent();
}
private void method1(object sender, EventArgs e)
{
//CODE
}
private void method2(object sender, DataGridViewCellEventArgs e)
{
//CODE
}
private void method3(object sender, EventArgs e)
{
//CODE
}
}
所以我想将method1、method2、method3 等移动到不同的类(或不同的类),但在不破坏应用程序的情况下如何做到这一点几乎迷失了。好吧,private 显然设置为 public 以授予访问权限,但我不知道以后如何在 Form1 类中调用这些方法。当我创建新类然后尝试在事件上调用方法时,例如onClick: Newclass.method1() 它不起作用。我能想到的一件事就像在Form1 onClick: thisMethodCallsTheOneINeedInADifferentClass() 中调用一些方法,但这似乎是一个笨拙的解决方案......我确信有更好的方法来解决这个问题,我只是不知道该怎么做。多多指教,谢谢
【问题讨论】:
-
我建议将事件处理程序留在表单中。
-
如果您更好地定义“它不起作用”的含义,您可能会更幸运地获得所需的答案。编译器错误?碰撞?例外?