我正在编写一个名为FormTheme
VB.NET 表单应用程序的主题类。它包含可在运行时应用于表单控件的配色方案信息。目前实例化对象有以下三种方式:
Public Sub New()
使用默认系统颜色创建一个新主题。
Public Sub New(ByVal ForeColor As Color, _
ByVal BackColor As Color, _
ByVal BorderColor As Color ... )
使用提供的颜色创建新主题。
Public Sub New(ByRef ExistingTheme As FormTheme)
通过对现有主题进行“深拷贝”来创建新主题。
我想提供第四个选项来根据预定义的设置创建主题,例如:
Public Sub New(ByVal scheme As ColorScheme)
'usage: Dim myTheme As New FormTheme(ColorScheme.Night)
想知道实现这一点的最佳方法是什么?考虑在构造函数中使用Enum
andSelect Case
语句来根据枚举值进行主题化,这肯定会起作用:
Enum ColorScheme
Day
Night
City
Candy
...
End Enum
Public Sub New(ByVal scheme as ColorScheme)
Select scheme
Case ColorScheme.Day
'Set colors
Case ColorScheme.Night
'Set colors
Case ColorScheme.City
'Set colors
...
End Select
End Sub
在我向前迈进之前,是否有更标准或“更好”的方式来做到这一点?