根据建议,我在新线程中问这个问题。这个问题源于Reza对this question的回答,我希望自定义属性显示在表单的设计器中。为此,我需要创建一个类,将其称为BaseForm并让BaseForm从System.Windows.Forms.Form继承,然后将所需的属性添加到该类中,并让我的用户表单从BaseForm继承。像这样:public partial class BaseForm : Form{ [Browsable(true), Description("test property"), Category("Appearance")] public Color bCol { get; set; }}public partial class Form1 : BaseForm{ public Form1() { InitializeComponent(); }}但是,当我这样做时,Visual Studio将设计器生成的partial class Form1(InitializeComponent等所在的位置)更改为partial class BaseForm。这伴随着InitializeComponent不在Form1范围内的错误,因此我将其更改为:public partial class BaseForm : Form{ [Browsable(true), Description("test property"), Category("Appearance")] public Color bCol { get; set; } public BaseForm() { InitializeComponent(); }}public partial class Form1 : BaseForm{ /*public Form1() { InitializeComponent(); }*/}这违反了使Form1从BaseForm继承的目的,因为我在设计器中看到的是从BaseForm继承的Form,而不是我想做的从Form1继承的BaseForm。为什么Visual Studio会这样做,我该怎么做才能解决此问题? 最佳答案 设计人员将编辑文件中的第一类。您已将BaseForm作为第一类放在.cs文件中。要解决该问题,请将其放在单独的文件中,或者将BaseForm的代码移到Form1代码之后。通常,最好将BaseForm的代码分开,因此最好将新表单添加到项目中并命名为BaseForm并向表单添加其他属性,然后对于其他表单,添加Inherited Form或添加新的并手动更改基类名称。关于c# - 当我创建从Form继承的新类时,Visual Studio更改设计器生成的代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36762789/ 10-11 19:19