Visual C#:调整窗体大小

Visual C#:调整窗体大小,c#,winforms,C#,Winforms,我一直在尝试使用一个按钮来扩展表单的大小。然而,出于某种原因,它不会让我这样做。我认为这是一件容易完成的事情,但我得到了一个错误: 非静态字段、方法或属性“System.Windows.Forms.Control.Width.get”需要对象引用 我正在使用的导致该错误的代码是 private void options_Click(object sender, EventArgs e) { FileSortForm.Height = 470; } Fil

我一直在尝试使用一个按钮来扩展表单的大小。然而,出于某种原因,它不会让我这样做。我认为这是一件容易完成的事情,但我得到了一个错误:

非静态字段、方法或属性“System.Windows.Forms.Control.Width.get”需要对象引用

我正在使用的导致该错误的代码是

    private void options_Click(object sender, EventArgs e)
    {
        FileSortForm.Height = 470;
    }
FileSortForm是我表单的名称。另外,根据另一个站点的建议,我将此代码添加到表单加载代码中

this.Size = new System.Drawing.Size(693, 603);

您需要更改表单的特定实例的高度。在您的情况下,
很可能就是您要修改的实例:

private void options_Click(object sender, EventArgs e)
{
    this.Height = 470;
}

似乎
FileSortForm
是类的名称,而不是表单实例

private void options_Click(object sender, EventArgs e)
{
    this.Height = 470; // "this" is your form instance.
}

您正在尝试访问不存在的静态属性。您需要引用确实存在的非静态方法

如果options\u Click方法在FileSortForm中

this.Height = 470;
如果options\u Click方法在FileSortForm之外,则必须使用引用。类似于:

subForm.Height = 470
编辑:


在包含类的内部,“this”限定是不必要的(除非您正在调用重写的方法)。

哦,这是不同的。那么“this”是如何工作的呢?我想它只是指代码用于的任何对象…“this”是类的当前实例cf.:您以前在VB中编程过吗?这是相关的。