全部,
我试图了解 C# WinForms 如何创建自定义控件。我根据分组框制作了一个自定义控件。根据某些值,我在里面创建了一组不同的控件。
我还成功地将这个控件添加到 Visual Studio 工具箱中,并且可以将它拖放到表单本身上。
由于控件的创建将取决于某些变量,因此我将其设置为此类中的属性。它在 Visual Studio 的属性列表中可见。
这是控件的伪代码。
public partial class MyGroupBox : System.Windows.Forms.GroupBox
{
private int m_type;
public RadioButton price;
public RadioButton rb13;
public int type
{
get { return m_type; }
set { m_type = value; }
}
public MyGroupBox()
{
m_type = type;
InitializeComponent();
price = new RadioButton();
if (type == 3)
{
rb13 = new RadioButton();
}
}
然而,将控件拖到窗体后,我发现在设计器源代码中--Form1.Designer.cs
控件创建为:
this.entry = new MyGroupBox(this.components);
因此,当程序运行时,我的空构造函数不会被调用。
我的问题是:
- 这个带
this.components
参数的构造函数是什么? - 由于我无法手动编辑
Form1.Designer.cs
,如何正确完成这项工作?
先感谢您。