Windows窗体设计器删除我的代码

Chr*_*jær 0 c# visual-studio winforms

我设计了一些与工具条一起使用的自定义控件,因此我将子类化为ToolStripControlHost.在这种情况下一个复选框...我的代码如下所示:

public class ToolStripCheckBox : ToolStripControlHost
{
    public ToolStripCheckBox()
        : base(new CheckBox())
    {
    }

    public CheckBox CheckBoxControl
    {
        get
        {
            return Control as CheckBox;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在我的Form1.Designer.cs文件中键入它们时,它们工作正常,但是当我在设计器中进行修改时,我的一些自定义代码会消失Form1.Designer.cs,更具体地说是事件处理程序和自定义外观.例如,这条线消失了

this.boldCheckBox.CheckBoxControl.Appearance = System.Windows.Forms.Appearance.Button;
Run Code Online (Sandbox Code Playgroud)

这有点烦人,我不知道该做什么:-(

dia*_*ler 7

Form1.Designer.cs由Designer维护,不应更改.这样的任务是在构造你的Form1中,在Form1.cs中"的InitializeComponent"功能之后进行,(它甚至说,// TODO: Add initialization code here或者类似的东西).

或者,您可以使用完整的设计时支持对自定义控件进行编码.