我正在创建一个基于原型的表单应用程序,其中将有一个用于所有表单的基本模板。模板中有一个方法,需要在构造控件时由实际表单调用。
Form1.cs中:
public partial class Form1 : FormBase
{
public Form1():base()
{
InitializeComponent();
}
...
Form1.Designer.cs:
private void InitializeComponent()
{
this.lblName = new MLabel();
this.fldName = new MTextBox();
this.lblUserID = new MLabel();
this.fldUserID = new MTextBox();
this.SuspendLayout();
this.AddControl(lblName, fldName);
this.AddControl(lblUserID, fldUserID);
FormBase.cs:
public partial class FormBase : Form
{
public FormBase()
{
InitializeComponent();
}
protected void AddControl(Label lbl, Control ctrl)
{
//do something
}
...
没有编译错误,但是,当我在IDE中打开Form1设计时,它找不到FormBase.AddControl。即使我运行应用程序,该方法似乎也没有被调用。
感谢。
答案 0 :(得分:1)
尝试从Form1.cs调用 AddControl 方法,不要从 Form1.Designer.cs
调用它如果这种方式仍然失败,请告诉我。 :)
答案 1 :(得分:0)
这是第二个替补:
只需更改此部分
protected void AddControl(Label lbl, Control ctrl)
{
//do something
}
进入这个:
public void AddControl(Label lbl, Control ctrl)
{
//do something
}