2010-07-08 54 views
3

我一直在尝试使用按钮来扩展表单的大小。但是,由于某种原因,它不会让我这样做。我认为这将是一件容易的事情,但我得到错误:Visual C#:调整表单大小

“对象引用是非静态字段,方法或属性'System.Windows.Forms.Control.Width不用彷徨”

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

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

FileSortForm是我的表的名称。另外,从其他网站的建议,我加入这个代码到窗体的Load代码

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

你以前用VB编程过吗?这是相关的。 – 2010-07-08 19:51:35

回答

6

您需要更改表单的特定实例的高度。最有可能在你的情况this将要修改的实例:

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

哦。那不一样。 那么这个“这个”是如何工作的?我认为它只是意味着代码的任何对象...... – muttley91 2010-07-08 19:20:46

+0

“this”是类的当前实例cf .: http://msdn.microsoft.com/en-us/library/dk1507sz(VS.80)的.aspx – tobsen 2010-07-08 19:59:14

2

看来FileSortForm是你,不是你的形式实例的名称。如果是这种情况,您可以简单地写

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

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

如果options_Click方法位于FileSortForm内部。

this.Height = 470; 

如果options_Click方法在FileSortForm之外,则必须使用该引用。喜欢的东西:

subForm.Height = 470 

编辑:

里面包含类的“这个”资格的是不必要的(除非你调用一个重写的方法)。