vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal ansprechen 
Autor: Manfred X
Datum: 07.02.11 16:19

Hallo!

Deine Vorgehensweise ist mir nicht ganz klar. Vorschlag:
Erstelle eine Klasse für Deine Charaktere (clsCharakter) und
lege Enumerationen für die verschiedenen Eigenschaften fest.
Deine Charactere kannst Du in einer List(of clsCharakter) verwalten
und diese Liste sowie die Eigenschafts-Enumerationen an Comboboxen binden.
Public Class clsCharacter
    Public Enum enmPowerLevel As Integer
        undefined = 0
        low = 1
        medium = 2
        high = 3
        ultrahigh = 4
    End Enum
    Public Enum enmCharacterType As Integer
        undefined = 0
        Knight = 1
        Dragon = 2
        Hero = 3
        Loser = 4
        Beast = 5
    End Enum
 
    Dim _GoldPieces As Integer
    Dim _PowerLevel As enmPowerLevel
    Dim _CharacterType As enmCharacterType
    Dim _Name As String
 
    Public Sub New(ByVal ch As enmCharacterType, ByVal CharacterName As String)
        CharacterType = ch
        Name = CharacterName
        _GoldPieces = 0
        Powerlevel = enmPowerLevel.medium
    End Sub
 
    Public Property Name() As String
        Set(ByVal value As String)
            _Name = value
        End Set
        Get
            Return _Name
        End Get
    End Property
 
    Public Property Powerlevel As enmPowerLevel
        Set(ByVal value As enmPowerLevel)
            _PowerLevel = value
        End Set
        Get
            Return _PowerLevel
        End Get
    End Property
 
    Public Property CharacterType As enmCharacterType
        Set(ByVal value As enmCharacterType)
            _CharacterType = value
        End Set
        Get
            Return _CharacterType
        End Get
    End Property
End Class
Und hier die Form:
Public Class frmCharacter
 
    Dim myCharacter As New List(Of clsCharacter)
    Dim WithEvents cmbName As New ComboBox _
    With {.DisplayMember = "Name", .Parent = Me, .Top = 10}
    Dim WithEvents cmbCharactertype As New ComboBox With {.Parent = Me, .Top = _
      40}
    Dim WithEvents cmbPowerlevel As New ComboBox With {.Parent = Me, .Top = 70}
 
    Private Sub frmCharackter_Load(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles MyBase.Load
        'Combos für die Eigenschaften
        cmbCharactertype.DataSource = [Enum].GetValues(GetType( _
          clsCharacter.enmCharacterType))
        cmbPowerlevel.DataSource = [Enum].GetValues(GetType( _
        clsCharacter.enmPowerLevel))
        'einige Charactere definieren
        myCharacter.Add(New clsCharacter(clsCharacter.enmCharacterType.Hero, _
          "Siegfried"))
        myCharacter.Add(New clsCharacter(clsCharacter.enmCharacterType.Knight, _
        "Hagen"))
        myCharacter.Add(New clsCharacter(clsCharacter.enmCharacterType.Beast, _
        "Kriemhild"))
        cmbName.DataSource = myCharacter
    End Sub
 
    Private Sub cmbPowerlevel_SelectedIndexChanged(ByVal sender As Object, _
         ByVal e As System.EventArgs) Handles cmbPowerlevel.SelectedIndexChanged
        If cmbName.SelectedIndex < 0 Then Exit Sub
        myCharacter(cmbName.SelectedIndex).Powerlevel = _
            CType(cmbPowerlevel.SelectedIndex, clsCharacter.enmPowerLevel)
    End Sub
 
    Private Sub cmbCharactertype_SelectedIndexChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles _
        cmbCharactertype.SelectedIndexChanged
        If cmbName.SelectedIndex < 0 Then Exit Sub
        myCharacter(cmbName.SelectedIndex).CharacterType = _
            CType(cmbCharactertype.SelectedIndex, clsCharacter.enmCharacterType)
    End Sub
 
    Private Sub cmbName_SelectedIndexChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles cmbName.SelectedIndexChanged
        cmbCharactertype.SelectedItem = myCharacter( _
          cmbName.SelectedIndex).CharacterType
        cmbPowerlevel.SelectedItem = myCharacter( _
        cmbName.SelectedIndex).Powerlevel
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Visual Studio 2010: Mehrere Steuerelemente auf einmal anspre...1.679Fes06.02.11 17:36
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.219ModeratorDaveS07.02.11 12:26
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.124Fes08.02.11 12:11
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.209ModeratorDaveS08.02.11 12:21
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.099Fes10.02.11 10:42
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.127ModeratorDaveS10.02.11 13:58
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.117Enium07.02.11 16:08
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.153Fes08.02.11 12:33
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.034Manfred X08.02.11 14:02
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.127Fes10.02.11 10:32
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.213Manfred X10.02.11 13:17
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.179Manfred X07.02.11 16:19
Re: Visual Studio 2010: Mehrere Steuerelemente auf einmal an...1.080Fes08.02.11 12:37

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel