Winforms новый экземпляр формы в классе не работает - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь максимизировать форму из файла класса, но когда я делаю новый экземпляр формы в классе, ничего не происходит.Я долго искал ответ и ничего не нашел.Это код, который я имею в классе.

public void maxForm() //code from the class
{
    Options options = new Options();
    options.WindowState = FormWindowState.Maximized; //not working
}

Это код, который я имею в форме.

private void button1_Click(object sender, EventArgs e) //code from form
{
    Class1 class = new Class1();
    class.maxForm();
}

Если я делаю тот же код, но для другой формыбуду работать.Он действует так, как будто его заблокировали.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

когда я создаю новый экземпляр формы

Это ваша проблема прямо здесь.Вам не нужен новый экземпляр, вам нужен экземпляр, который уже существует.

Если ваш button1 является частью вашей формы Options, топросто сделайте это:

private void button1_Click(object sender, EventArgs e) //code from form
{
    WindowState = FormWindowState.Maximized;
}

Или, если, как вы говорите, вам нужно максимизировать его из другого класса (почему?), тогда вы можете сделать что-то вроде этого:

public void maxForm(Options options) //code from the class
{
    options.WindowState = FormWindowState.Maximized;
}
private void button1_Click(object sender, EventArgs e) //code from form
{
    Class1 class = new Class1();
    class.maxForm(this);
}
0 голосов
/ 18 декабря 2018

Вам не нужно показывать форму?

Options options = new Options();
options.WindowState = FormWindowState.Maximized;
options.Show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...