【发布时间】:2013-06-01 19:21:07
【问题描述】:
private void button1_Click(object sender, EventArgs e)
{
Form2.Show();
}
我认为上面的代码没有错误,但由于某种原因它不会执行。 它说错误“非静态字段、方法或属性需要对象引用”但我错过了什么? 我只有两个表单(Form1 和 Form2)和一个按钮。我使用了注册表清洁器,但错误仍然存在。 存在另一个有效的代码,但是这段代码将我的表单复制为一个新变量,但我想像 Visual Basic 那样显示原始表单。
【问题讨论】:
-
(new Form2()).Show(); -
你必须改掉从 vb.net 上养成的一些坏习惯。像这个一样,如果不提供对对象的引用,就不能调用像 Show() 这样的实例方法。不幸的是,VB.NET 在 Form 类的特定情况下允许这样做,让 VB6 程序员可以编写 Winforms 代码。这在 C# 中已经结束并完成了,您必须使用 new 运算符来创建该类的新实例。