Я пытаюсь максимизировать форму из файла класса, но когда я создаю новый экземпляр формы в классе, ничего не происходит. Я долго искал ответ и ничего не нашел. Это код, который у меня есть в классе.
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();
}
Если я сделаю тот же код, но для другой формы, он будет работать. Он действует так, как будто его заблокировали.
Основываясь на вашем комментарии к ответу Backs, кажется, что вы ожидаете, что создание экземпляра чего-то позволит вам изменить другой экземпляр того же типа. Options - это тип, а options содержит ссылку на экземпляр Options. Представьте себе тип автомобиля: Ford Mustang. Теперь вы создаете два экземпляра Ford Mustang (вы покупаете два в представительстве). Вы повредили одну машину, другая машина изменится, чтобы отразить повреждение первой? Нет, потому что это разные машины (экземпляры). Они одного типа (Ford Mustang), но разных экземпляров.





Разве тебе не нужно показывать форму?
Options options = new Options();
options.WindowState = FormWindowState.Maximized;
options.Show();
@Joseph Возможно, экземпляр формы уже показан, но Options options = new Options(); создает новый экземпляр. Фактически, вы можете показать их обоих бок о бок.
when I make a new instance of the form
Вот и твоя проблема. Вам не нужен экземпляр новый, вам нужен экземпляр в, который уже существует.
Если ваш 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);
}
Да, я знаю, что могу это сделать, я хочу, чтобы это было конкретно из класса, который представляет собой другой файл.
Затем вам нужно передать экземпляр вашей открытой формы. Может что-то вроде maxForm(this).
Я обновил свой ответ кодом для этого, но это звучит подозрительно - зачем вам создавать класс только для того, чтобы максимизировать форму? У вас есть другие требования для этого класса?
Форма - это класс, так зачем вам другой класс, чтобы что-то делать с формой?