Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 265
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

ListBox/ComboBox und Enum - Füllen, selektieren, auslesen


Autor: Stefan Wagner
Sprache: VB.NET
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 23869
  
Kick it on dotnet-kicks.de  

Beschreibung:

Code um die Daten zwischen einem Enum und einer ListBox auszutauschen.

Abgelegt unter: vb.net, enum, enumeration, listbox.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class whatever()
    Enum TraceEventType
        Nummer1 = 2 ^ 0
        Nummer2 = 2 ^ 1

    End Enum


sub load()

'ListBoxLogLevel ist eine ListBox im Formular      mit dem 
SelectionMode = MultiSimple
'TraceEventType ist der EnumTyp

'Die Daten des Enums in die Listbox bringen:  
ListBoxLogLevelDB.Items.AddRange([Enum].GetNames(GetType(TraceEventType)))


'Die in test gespeicherten Enum-Daten in der listbox selektieren

Dim test As TraceEventType = TraceEventType.Error Or TraceEventType.Information

Dim ItemsToSelect As New Collection

'ListBox durchlaufen
For Each ListItem In ListBoxLogLevelDB.Items
            'EnumEntry = EnumEntry Or [Enum].Parse(GetType(TraceEventType), item.text)
            If (test And [Enum].Parse(GetType(TraceEventType), ListItem.ToString)) >= 1 Then
                ItemsToSelect.Add(ListItem)
            End If
        Next

'Die Elemente wirklich selektieren
        For Each item In ItemsToSelect
            ListBoxLogLevelDB.SelectedItems.Add(item)
        Next


'Den Handler erst jetzt aktivieren, damit er beim Schritt vorher nicht immer reinspringt
        AddHandler ListBoxLogLevelDB.SelectedValueChanged, AddressOf ListBoxLogLevelDB_SelectedValueChanged

    End Sub

'Die selektierten ListBox-Einträge auslesen
    Private Sub ListBoxLogLevelDB_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs)


        Dim EnumEntry As New TraceEventType

'Die Listbox durchlaufen
        For Each item In ListBoxLogLevelDB.SelectedItems
            EnumEntry = EnumEntry Or [Enum].Parse(GetType(TraceEventType), item.ToString)
        Next

        Debug.WriteLine(EnumEntry.ToString)

    End Sub

end class
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Günther Foidl schrieb am:  05.12.2008 23:18:05

Eine Enum kann als DataSource gebunden werden mit

myListBox.DataSource = [Enum].GetValues(GetType(MyEnum))

Dabei wird GetValues anstatt GetNames verwendet.


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.