有没有一种方法可以在VB.net中合并枚举?

最佳答案

我相信您想要的是一个标志类型的枚举。

您需要将Flags属性添加到枚举的顶部,然后可以将枚举与“Or”关键字结合使用。

像这样:

<Flags()> _
Enum CombinationEnums As Integer
  HasButton = 1
  TitleBar = 2
  ReadOnly = 4
  ETC = 8
End Enum

注意:右边的数字始终是两倍大(2的幂)-需要此数字才能分离已设置的各个标志。

使用Or关键字组合所需的标志:
Dim settings As CombinationEnums
settings = CombinationEnums.TitleBar Or CombinationEnums.Readonly

这会将TitleBar和Readonly设置为枚举

要检查已设置的内容:
If (settings And CombinationEnums.TitleBar) = CombinationEnums.TitleBar Then
  Window.TitleBar = True
End If

10-04 12:03