c#我想添加最小化按钮我的表单不能使用Form1.WindowState = FormWindowState.Minimized;

时间:2014-02-16 13:00:09

标签: c#

我想添加最小化按钮我的表单

private void button6_Click(object sender, EventArgs e)
    {
        Form1.WindowState = FormWindowState.Minimized;
    }

这不行 我收到了错误 非静态字段,方法或属性'System.Windows.Forms.Form.WindowState.get'

需要对象引用

4 个答案:

答案 0 :(得分:4)

是的,您正在访问类定义(Form1),而不是表单的实例。 Simpy使用this

private void button6_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
}

只能在类中访问静态字段和属性,以及创建和/或使用该类实例所需的所有其他内容。

答案 1 :(得分:3)

您需要在Form的实例上设置值,例如您的按钮点击事件所触发的当前实例。

请改用:

this.WindowState = FormWindowState.Minimized;

(您在技术上也不需要包含“this” - 取决于您的偏好。)


话虽如此,您的代码实际上是最小化表单,而不是在表单中添加最小化按钮,这就是您的标题表明您正在尝试做的事情。

默认情况下,该按钮应显示,除非您对表单进行了其他自定义,但原始问题中未包含这些自定义。

如果隐藏了最小化按钮,您可以尝试此操作:

this.MinimizeBox = true;

答案 2 :(得分:1)

private void button6_Click(object sender, EventArgs e)
    {
        this.WindowState = FormWindowState.Minimized;
     }
button6_Click this中的

表示当前表单。

答案 3 :(得分:1)

要添加大家所说的内容,如果您需要从其他表单中最小化表单,请使用:

...
Form1 f1=new Form1();
...
f1.Show();
...
private void button6_Click(object sender, EventArgs e)
{
    this.f1.WindowState = FormWindowState.Minimized;
    // 'this' is optional
}