我一直在Visual Studio 2008中研究C#/ Winforms项目几天,并决定添加一个新表单。所以,我右键点击我的项目名称,然后选择“添加”,然后选择“Windows窗体”。无法实例化已添加表单的实例
我给了它一个有用的名称 - 就像“TestToolForm.cs” - 然后检查它是否使用与项目其余部分相同的名称空间。我点击“保存”,然后“建立”。一切都会好起来的。
然后我试图在(形式)按钮单击事件来创建它的一个实例,并得到以下错误消息:
The type or namespace name 'TestToolForm' could not be found (are you missing a using directive or an assembly reference?)
错误被抛出下面的代码块 - 上的两个实例词 “TestToolForm”:
private void btnTestTool_Click(object sender, EventArgs e)
{
TestToolForm testForm = new TestToolForm();
}
我TestToolForm.cs正好包含以下,因为我要添加之后的内在逻辑:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace myNameSpace
{
public partial class TestToolForm : Form
{
public TestToolForm()
{
InitializeComponent();
}
}
}
有趣的是,我已经用这种方式添加了所有其他表单,而且他们之前都没有导致这个错误。
我在这里看了一下,Google,DaniWeb和其他地方。
- 我检查过,我有匹配的圆括号和花括号(它不会编译之前,否则)。
- 我已关闭Visual Studio,重新启动我的机器并启动VS备份。
- 我检查了我正在编译.NET客户端版本4
- 我已经确认.NET框架和Visual Studio我安装的都是最新的。
- 我已经做了一个干净的解决方案和重建。
有什么明显的,我可能错过了?
'然后检查它是否使用相同的名称空间。这是一件很奇怪的事情。你改变了名字空间的名字吗? Project + Properties,Application选项卡中的Default命名空间设置是否匹配?简单的解释错误。 – 2012-01-31 12:47:05
@HansPassant我在某种程度上改变了命名空间(对于这个表单或者其他项目)的检查机会。这只是我认为我应该检查的一件事情,一旦发生某些事情已经损坏或改变了它。事实证明名称空间无论如何都是正确的 – 2012-01-31 13:26:53
您是否真的需要“部分”定义?如果你删除它会发生什么?调用是否在同一个程序集中实例化?还是需要引用TestToolForm所在的程序集? – woohoo 2012-01-31 16:26:28