【发布时间】:2014-04-19 01:15:00
【问题描述】:
这可能是最常见的问题之一,有一个 FORM1 和 FORM2,我如何调用一个函数(在 FORM1 上),例如:来自 FORM2 的 MySQLConnect .我尝试了几个选项,但我无法让它工作,在第二次尝试中,我尝试从按钮调用该函数,但没有运气。
Form1.cs(我的第一次尝试:)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Form2 form2 = new Form2(this);
}
public void MySQLConnect(object sender, EventArgs e)
{
// Starting a MySQL connection
}
}
Form2.cs(我的第一次尝试:)
public partial class Form2 : Form
{
Form1 mainForm;
public Form2(Form1 mainForm)
{
InitializeComponent();
this.mainForm = mainForm;
// call function on form1 MySQLConnect()
mainForm.MySQLConnect();
}
}
Form1.cs(我的第二次尝试:)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void MySQLConnect(object sender, EventArgs e)
{
// Starting a MySQL connection
}
}
Form2.cs(我的第二次尝试:)
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void btnMySQLConnect(object sender, EventArgs e)
{
Form1 myForm1 = new Form1();
myForm1.MySQLConnect(sender, e);
}
}
请帮忙!
【问题讨论】:
-
你尝试
Show你的第二个表单了吗?因为我很确定你的第一次尝试应该会奏效。 -
您遇到了什么错误?顺便说一句,像 MySQLConnect 这样的函数应该在实用程序类中,而不是在表单中。
-
尝试从 MySQLConnect 中删除参数。即私有 void MySQLConnect() { ... }.