我设计了一些与工具条一起使用的自定义控件,因此我将子类化为ToolStripControlHost。在这种情况下,复选框...我的代码如下所示:
public class ToolStripCheckBox : ToolStripControlHost
{
public ToolStripCheckBox()
: base(new CheckBox())
{
}
public CheckBox CheckBoxControl
{
get
{
return Control as CheckBox;
}
}
}
当我在Form1.Designer.cs
文件中输入它们时,它们可以正常工作,但是当我在设计器中进行修改时,我的一些自定义代码会从Form1.Designer.cs
中消失,更具体地说是事件处理程序和自定义外观。例如,这条线消失了
this.boldCheckBox.CheckBoxControl.Appearance = System.Windows.Forms.Appearance.Button;
这有点烦人,我不知道该怎么做: - (
答案 0 :(得分:7)
Form1.Designer.cs由Designer维护,不应更改。这些任务将在Form1.cs的构造函数中执行,紧接在“InitializeComponent”函数之后(它甚至会说// TODO: Add initialization code here
或类似的东西)。
或者,您可以使用完整的设计时支持对自定义控件进行编码。
答案 1 :(得分:1)
此代码不属于Designer.cs文件,设计人员会吃掉它。它也不属于表单源代码文件,只应该在那里写入与表单类相关的代码。项目+添加课程。编译后会自动添加到工具箱中。