假设您有一个名为的表单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
?
供参考,这是AddToFormSizes
MainForm 中的代码
private Dictionary<Form, Size> _formSizes = new Dictionary<Form, Size>();
public void AddToFormSizes(Form form, Size size)
{
_formSizes.Add(form, form.Size);
}