我的项目有两个表格,就像5个班级一样。我想要做的是调用一个在类中的Form上定义的方法,所以当我在我的类上调用它时它会运行。我考虑过在课堂上创建一个Form的实例,但这只会创建一个“新表单”而且毫无意义。我的另一个选择是让我的表单成为静态表单,但我不知道如何做到这一点。谢谢你的帮助!
修改
以下是我的表单上定义的方法:
public void fillMatrix(char[,] currentMatrix, int rows, int columns)
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
string route = GameInstance.vexedGame.imgToShow(currentMatrix[i, j]);
DataGridVexed[j, i].Value = Bitmap.FromFile(route);
}
}
}
答案 0 :(得分:2)
非常基本的例子,如果我理解了您的原始请求:
public class MyForm : Form
{
public A a = null;
public MyForm ()
{
A = new A(this); // pass an instance of the MyForm to the class
}
public void WowMethod(){
... something amazing ...
}
}
public class A
{
public MyForm associatedForm = null;
public A( MyForm f ){
associatedForm = f;
}
public void CallWowMethod()
{
associatedForm.WowMethod();
}
}