-1

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

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


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

我已经尝试过“显示”方式,但这会产生一个全新的窗口。请帮忙。
谢谢你。

4

2 回答 2

1

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

class Form2 {

    private Form1 form1Ref;

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

}

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

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

于 2014-08-21T05:00:35.140 回答
0

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

当您执行Maximize()它认为 Form2 引用的方法时,从 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);
}
于 2014-08-21T05:02:48.553 回答