色の名前

今はvb2008で色々作ってます。
色の名前をコンボボックスに表示したかったので、色一覧の取得方法を。(MSのサイトにほとんど載ってました。)私としては色順に並べたかったのですが、何の順番で並べたら素敵かよく分からんかった。めんどいのでそのままに。(ひどいよ。)

Dim colorsArray As System.Array = [Enum].GetValues(GetType(KnownColor))
Dim allColors(colorsArray.Length) As KnownColor
Array.Copy(colorsArray, allColors, colorsArray.Length)
Dim pColor As String()
Dim i As Integer = 0
ReDim pColor(0)
Dim wkKnownColor As KnownColor
Dim wkColor As Color
Dim blnSet As Boolean
For Each wkKnownColor In allColors
wkColor = Color.FromKnownColor(wkKnownColor)
blnSet = False
If wkColor.IsKnownColor = True Then blnSet = True
If wkColor.IsSystemColor = True Then blnSet = False ' システムカラーは除く
If wkColor.Name = Color.Transparent.Name Then blnSet = False ' 透明は除く
If blnSet = True Then
i = i + 1
ReDim Preserve pColor(i - 1)
pColor(i - 1) = wkColor.Name
End If
Next
wkColor = Nothing
wkKnownColor = Nothing
allColors = Nothing
colorsArray = Nothing

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です