我有这个代码,我想从我的主要课程中调用:
public void Display()
{
Form1 z = new Form1();
z.listBox1.Items.Add("=============================Summary=============================\n\n");
z.listBox1.Items.Add("1st: "+Num1+" 2nd #: "+Num2);
z.listBox1.Items.Add("\n"+" 3rd #: "+Num3+" 4th #: "+Num4);
z.listBox1.Items.Add("\n"+" 5th #: "+Num5);
z.listBox1.Items.Add("\n" + "SUM: " + Sum + " DIFF: " + Sub + "\n" + " PROD: " + Multiply + " QOU: " + Divide);
// result = ("=============================Summary=============================\n\n 1st #: " + Num1 + " 2nd #: " + Num2 + "\n 3rd #: " + Num3 + " 4th : " + Num4 + "\n 5th #: " + Num5 + "\n" + "SUM: " + Sum + " DIFF: " + Sub + "\n" + " PROD: " + Multiply + " QOU: " + Divide);
}
在我的主课程中我尝试这样做:我也尝试将修饰符更改为public,以便我可以使用子类中的列表框..
Class1 zz = new Class1();
zz.Display();
我的问题是我如何从子类调用Display
到我的主类?我刚接触C#我会非常感谢你的帮助。 :D
答案 0 :(得分:1)
我猜“主要类别”是指你的Form1。您在Display
中所做的是创建新(不可见)Form1(请注意new
中的Form1 z = new Form1()
)。相反,您应该将当前可见的 Form1的引用传递给方法:
public void Display(Form1 z)
{
z.listBox1.Items.Add("=============================Summary=============================\n\n");
// etc.
}
在Form1代码中:
Class1 zz = new Class1();
zz.Display(this);
答案 1 :(得分:0)
确保您的子类设置为public。
public class Class1 {
public void Display {
}
}
然后你可以从你的主类
中调用该类public class Main {
public void SomeMethod() {
Class1 zz = new Class1();
zz.Display();
}
}