公共方法未触发交叉表单

Mar*_*rip 1 c# oop

当我尝试form1从on调用方法时form2,根据以下代码,没有任何反应:

窗口2:

Form1 form1 = new Form1();
form1.AddToListView();
Run Code Online (Sandbox Code Playgroud)

Form1中:

public void AddToListView()
{
    AddList();
    listView1.Items.Add("Test", "Test", 0);
    label1.Text = "Test";
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Alf*_*fie 5

Form1 form1 = new Form1();正在创建的窗体的一个新实例,而不是引用你的主form1这我假设是你的问题.

你需要传递form1to form2的构造函数的引用,或者丢弃你的当前form1form2改为:

Form1 form1 = new Form1();
form1.Show();
form1.AddToListView();
Run Code Online (Sandbox Code Playgroud)

  • 您的表单的**实例**可能是打开的,但它不是您对"AddToListView"调用影响的那个.如果您愿意,您可以制作和显示数百个相同的表单,但是在其中一个表单上调用方法不会影响其他表单(除非您将它们设置为静态). (3认同)