假设您有一个名为的表单FormBase,并且所有其他表单都继承自该表单。
例如,我有public class Form formTest : FormBase
我现在在 formTest 的 ctor 中拥有什么:
public class Form formTest : FormBase
{
public formTest()
{
InitializeComponent();
Program.MainForm.AddToFormSizes(this, this.Size);
}
}
此代码将 的实例添加formTest到主窗体上的字典中size
这行得通,但我想将此代码移动到,FormBase因此我不必将这行代码放在每个继承的形式中。
public class Form FormBase : Form
{
public FormBase()
{
InitializeComponent();
Program.MainForm.AddToFormSizes(this, this.Size);
}
}
现在,问题是当我这样做时,设计时size的大小将是FormBase,而不是formTest.
有没有办法FormBase捕获继承自的大小formTest或任何其他形式FormBase?
供参考,这是AddToFormSizesMainForm 中的代码
private Dictionary<Form, Size> _formSizes = new Dictionary<Form, Size>();
public void AddToFormSizes(Form form, Size size)
{
_formSizes.Add(form, form.Size);
}