可以设计类foo,但不是文件错误中的第一个类

时间:2012-01-14 18:26:51

标签: c# winforms visual-studio-2010

我有这个

  

可以设计类foo,但不是文件中的第一个类

在我的C#文件中添加从TextBox派生的foo类后出现

错误。我怎么能通过它,这很烦人。

编辑:

我想在我的文件中有多个类。我希望从TextBox派生一些接受特定类型输入的类。我没有使用设计师。

EDIT2:

class NumericTextBox : TextBox
{
    protected override void OnTextChanged(EventArgs e)
    {
        ...
    }
}

5 个答案:

答案 0 :(得分:10)

您的文件中必须有多个类。将您的课程移到文件中,以便它可以成为该文件中的第一个课程

Visual Studio要求负责创建文件的类位于该文件的顶级或第一类

答案 1 :(得分:7)

如果您不需要设计师,则此类属性应该可以解决问题:

[System.ComponentModel.DesignerCategory("")]

答案 2 :(得分:2)

错误信息非常清楚。您有一个包含多个类的.cs文件。将每个类移动到它自己的文件中,你应该没问题。

编辑:如果您坚持在同一个文件中包含所有类,请将foo类放在顶部。顺序问题 - 按照惯例,设计者使用文件中的第一个类来进行控制。如果没有看到此错误,则不能在同一文件中拥有多个控件类。

答案 3 :(得分:0)

您的class.Designer.cs文件或您的class.cs文件将在其顶部定义另一个类。由于该类在两个文件中都定义为partial类,因此请务必检查这两个文件!

答案 4 :(得分:0)

此外,文件名必须与类名相匹配。例如文件myClass.designer.cs期望类myClass So检查拼写错误。