好的,我是这方面的初学者,并且想知道同样的事情。我相信我明白你在问什么。我只是尝试了这个,经过几次尝试它点击了,并且更新到这个也许我可以用我的话来简化它。我不知道您使用的是哪个程序,但我使用了 Visual Studio 2016。我创建了两个表单(Form1 和 Form2),每个表单都包含一个按钮。Form1 按钮和 Form2 按钮。当我单击 Form1 按钮时,它从 form2 调用一个方法,当我单击 Form2 按钮时,它从 Form1 调用一个方法。我注意到在解决方案资源管理器中它显示了两种形式以及它们包含的所有内容。如果我错了,我已经做了很多研究并纠正我,但我相信从父容器到子容器的顺序是这样的(命名空间>类>方法)。
这些是我的脚本。
表格1:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show();
}
private void f1button_Click(object sender, EventArgs e)
{
f2Words f2w = new f2Words();
f2w.Words2();
}
}
public class f1Words
{
public void Words1()
{
MessageBox.Show("Form 1 Method Calling Worked!");
}
}
表格2:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void f2button_Click(object sender, EventArgs e)
{
f1Words f1w = new f1Words();
f1w.Words1();
}
}
public class f2Words
{
public void Words2()
{
MessageBox.Show("Form 2 Method Calling Worked!");
}
}
在解决方案资源管理器窗口中,它显示了 Form1 和 Form2 的类。所以我决定尝试调用这些类的新实例。
“f1Words f1w = new f1words()”和“f2Words f2w = new f2Words()”。
然后就在这之后,我调用了这些类的新实例来使用它们包含的方法。
“f1w.Words1()”和“f2w.Words2()”
最终的结果是成功的。当我单击 Form1 的 Button1 时,它调用了 Form2 的 F2Words 类并从中拉出 Words2 方法,打开一个消息框,显示“Form2 方法调用成功!”,Form2 Button2 反之亦然。
由于这篇文章已有 4 年的历史,我假设您已经自己发现了这一点,并且可能找到了更好的解决方案,但是对于将来问同样问题的其他人,我希望这对您有所帮助。