已更新
MDIparent表格:
public void sample()
{
textBox1.Text = "Sample";
}
private void button1_Click(object sender, EventArgs e)
{
MDIParent1 p = new MDIParent1();
LogInForm LogIn = new LogInForm(p);
DialogResult res = LogIn.ShowDialog()
}
登录表单:
private MDIParent1 _p;
public LogInForm(MDIParent1 p)
{
InitializeComponent();
_p = p;
}
private void button1_Click(object sender, EventArgs e)
{
_p.sample();
this.Close();
}
_p.sample();不起作用
答案 0 :(得分:3)
更改
p = _p;
到
_p = p;
这就是......
答案 1 :(得分:1)
public void sample()
{
textBox1.Text = "Sample";
}
private void button1_Click(object sender, EventArgs e)
{
MDIParent1 p = new MDIParent1();
LogInForm LogIn = new LogInForm(p);
DialogResult res = LogIn.ShowDialog()
}
点击按钮,点击此处,即可创建新 MDIParent1
并将其传递给新的LogInFOrm
private MDIParent1 _p;
public LogInForm(MDIParent1 p)
{
InitializeComponent();
_p = p;
}
private void button1_Click(object sender, EventArgs e)
{
_p.sample();
}
在这里,您在传入的表单上调用sample
方法(已在前一个表单上实例化,但从未实际呈现)。要呈现它,您需要调用Show()
或{{ 1}}
如果您想要传递单击按钮的表单,您可以完成此操作
ShowDialog()
或者你可以使用LogInForm LogIn = new LogInForm(this);
而根本没有传递表格。
答案 2 :(得分:0)
您需要替换:
p = _p;
在:
_p = p;
这可能有效