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