无法实例化已添加表单的实例

时间:2012-01-31 10:49:45

标签: .net winforms visual-studio-2008 c#-4.0

我在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都是最新的。
  • 我做了一个干净的解决方案并重建。

我可能错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:3)

我也有完全相同的问题,如本文所述。我也在想我已经给出了相同的命名空间,但是当我仔细检查我的命名空间时,我发现存在1个字符的差异。很高兴我发现这个问题让我再次查看名称空间。

因此,请仔细检查您的命名空间,尝试从旧文件中复制并粘贴新表单上的名称命名空间。希望它有所帮助。