C#从另一种形式最大化表格

时间:2014-08-21 04:59:12

标签: c# forms maximize-window

我正在尝试为我的应用程序进行语音识别。我有语音识别表格(表格2)和我的主表格(表格1)。我想找到一种从Form2中最大化Form1的方法。我已经了解了语音识别,我不需要帮助,但是对此问题的任何帮助都将不胜感激!

//Form1
public void Maximize()
{
this.WindowState = FormWindowState.Maximized;
}


//Form2
private void Maximize_Form1()
{
Form1 form = new Form1();
form.Maximize();
}

我已经尝试过" Show"方式,但这是一个全新的窗口。请帮助。
谢谢。

2 个答案:

答案 0 :(得分:1)

您需要向Form1实例提供现有 Form2实例的引用,以便它可以对其进行WindowState = FormWindowState.Maximized;。例如:

class Form2 {

    private Form1 form1Ref;

    public void setForm1(Form1 f) { form1ref = f};

}

Form1会在form2实例上调用setForm1(this),然后可以使用form1ref来最大化form1。

在您当前的代码中,您正在创建一个new Form1实例,该实例完全独立于前一个实例。

答案 1 :(得分:0)

您正在使用From2中的this.WindowState,我建议您将参数传递给Maximize()方法。

从Form2执行Maximize()方法时,它会在引用中考虑Form2。

要传递Form1的引用,您应该将对象发送到Method并设置所需的属性。

//Form1
public void Maximize(Form frmForm)
{
frmForm.WindowState = FormWindowState.Maximized;
}


//Form2
private void Maximize_Form1()
{
Form1 form = new Form1();
form.Maximize(form);
}