Aufzählung mit numerischen Werten

25/04/2010 - 07:00 von Karsten Sosna | Report spam
Hallo NG,
Kann ich irgendwie so etwas realisieren?
\\\
Public Enum Steps
2
4
8
End Enum

'oder

Public Enum Zoom
50%
100%
200%
End Enum
///

Eigentlich geht es nur um die Anzeige in einem PropertyGrid. Ich möcht dort
nicht so etwas sehen:

Zoom50
Zoom100
Zoom100

sondern wirklich

50%
100%
200%

Danke für jeden Tipp.
Gruß Scotty
 

Lesen sie die antworten

#1 Martin H.
25/04/2010 - 09:14 | Warnen spam
Hallo Karsten,

ich glaube nicht, daß es da eine direkte Möglichkeit gibt.
Du müßtest die Werte also durch eine Routine jagen, die sie
entsprechend formatiert. Das könnte dann so aussehen:

Private Enum Zoom
Zoom50 = 50
Zoom100 = 100
Zoom200 = 200
End Enum

Private Function ZoomToString(ByVal value As Zoom) As String
Dim v As Long
v = CLng(value)

Return v.ToString() & "%"
End Function

Private Function StringToZoom(ByVal value As String) As Zoom
value = value.Replace("%", "")
value = "Zoom" & value

Return DirectCast([Enum].Parse(GetType(Zoom), value), Zoom)
End Function

Private Sub Test()
Dim s As String
Dim z As Zoom
s = ZoomToString(Zoom.Zoom100)
MsgBox(s)
z = StringToZoom(s)
MsgBox(z.ToString())
End Sub


Beste Grüße,

Martin

Ähnliche fragen