C# максимизировать форму из другой формы

Я пытаюсь сделать распознавание речи для моего приложения. У меня есть форма распознавания речи (Form2) и моя основная форма (Form1). Я хочу найти способ максимизировать Form1 от Form2. Я уже узнал о распознавании речи, и мне не нужна помощь с этим, но любая помощь с этой проблемой будет принята с благодарностью!

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


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

Я попробовал "показать" способ, но это делает совершенно новое окно. Пожалуйста помоги.
Благодарю вас.

2 ответа

Решение

Вам нужно дать ссылку на существующий Form1 экземпляр вашего Form2 экземпляр, так что он может сделать WindowState = FormWindowState.Maximized; в теме. Например:

class Form2 {

    private Form1 form1Ref;

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

}

Form1 назвал бы setForm1(this) на экземпляре form2, который затем может использовать form1ref максимизировать форму1.

В своем текущем коде вы создаете new Form1 экземпляр, который полностью независим от предыдущего экземпляра.

Ты используешь this.WindowState из From2, я бы предложил вам передать параметр Maximize() метод.

Из формы 2, когда вы выполняете 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);
}
Другие вопросы по тегам