Winforms类中的新窗体实例不起作用

时间:2018-12-18 01:49:27

标签: c# winforms

我正在尝试从类文件中最大化表单,但是当我在类中创建表单的新实例时,什么也没有发生。我已经花了很长时间寻找答案,却没有找到任何东西。这是我在课堂上的代码。

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 :(得分:4)

您不需要显示表格吗?

Options options = new Options();
options.WindowState = FormWindowState.Maximized;
options.Show();

答案 1 :(得分:2)

  

当我创建表单的新实例

那是您的问题。您不想要一个 new 实例,您想要一个已经存在的 实例。

如果您的button1Options表单的一部分,则只需执行以下操作:

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