c#从另一个表单最大化一个表单

本文关键字:表单 一个 最大化 另一个 | 更新日期: 2023-09-27 18:18:59

我正在尝试为我的应用程序做语音识别。我有语音识别表(Form2)和我的主表(Form1)。我想找到一种方法使Form1从Form2中最大化。我已经学会了语音识别,我不需要帮助,但任何帮助与这个问题将非常感激!

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

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

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

c#从另一个表单最大化一个表单

您需要将现有 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实例,它完全独立于前一个实例

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

From 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);
}