基类中的常见UI代码?

时间:2016-03-13 05:51:50

标签: c# winforms

我有一个场景,我需要将一些公共代码放入基类(建议的解决方案)。

假设我在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变量作为参数传递给基类,要么以某种方式对其进行硬编码。

这种常见编码结构的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如何拥有从UserControl继承的基本自定义UserControl。如下所示,

public partial class MyUserControl : UserControl

您可以移动指定控制面板边距的常用逻辑,甚至可以在MyUserControl中指定一些先决条件,并在表单或控件中使用它。您的方案将如下所示,

public partial class BookingsCreatePage : MyUserControl, IPrototypeUX

通过这种方式,您可以控制并且不必在使用控件的所有情况下都保持相同。