我有一个场景,我需要将一些公共代码放入基类(建议的解决方案)。
假设我在UserControl类文件BookingsCreatePage.cs
中有以下代码public partial class BookingsCreatePage : UserControl, IPrototypeUX
{
public BookingsCreatePage()
{
InitializeComponent();
SetupPadding();
}
//Implementing my own Interface IPrototypeUX here
void SetupPadding()
{
tlpBase.Margin = new Padding(0);
panelHeading.Margin = new Padding(0);
tlpBookingDetails.Margin = new Padding(7, 0, 7, 0);
panelNav.Margin = new Padding(10, 0, 10, 0);
panelWarning.Margin = new Padding(0);
}
}
现在我想将panelNav.Margin = new Padding(10, 0, 10, 0);
行放入一个公共区域,可能是一个基类或者我现在想不到的东西。
我在每个UserControl中都有相同的命名面板。所以要么我需要将这个panelNav
变量作为参数传递给基类,要么以某种方式对其进行硬编码。
这种常见编码结构的最佳方法是什么?
答案 0 :(得分:0)
如何拥有从UserControl继承的基本自定义UserControl。如下所示,
public partial class MyUserControl : UserControl
您可以移动指定控制面板边距的常用逻辑,甚至可以在MyUserControl
中指定一些先决条件,并在表单或控件中使用它。您的方案将如下所示,
public partial class BookingsCreatePage : MyUserControl, IPrototypeUX
通过这种方式,您可以控制并且不必在使用控件的所有情况下都保持相同。