将属性移动到单独的类

时间:2012-05-25 14:36:12

标签: c# winforms

在创建一个新的自定义控件派生时,我有类似的东西:

[Category("Appearance")]
public Color SeparatorColor
{
    get { return separatorColor; }
    set { separatorColor= value; }
}

和List View它的self也有一个ListViewInsertionMark类,但是我不能使用它只是因为它在VisualStyles关闭时不起作用而且在我的应用程序中很遗憾它们应该被关闭。

所以现在我在我的主类中有类似的东西,它来自List View,它运行正常。但我在想是否可以使它与.NET的类更加相似,我无法使用它。所以将它移到一个单独的班级等...你有什么建议?保持它在主类内?将它移到一个单独的类?好的设计?糟糕的设计?

1 个答案:

答案 0 :(得分:1)

ListViewInsertionMark主要用于指向放置位置 如果您只需要列表项之间的分隔符,那么是的,您需要从ListView派生。

添加此SeperatorColor属性(您可以在此处使用autoproperty)。 覆盖OnPaint,逐个绘制分隔符,不要忘记调用base.OnPaint
欢呼声。