vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 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: Ausdruck für Schleifendurchlauf gesucht 
Autor: Snoopy
Datum: 05.11.09 10:07

Naja, man kann das über viele If- oder Select Abfragen machen, aber ich finde es eleganter wenn man
das über eine Enum mit Flags, also eine Bit-Operation löst. Ist vielleicht etwas komplizierter aber
wenn man weiß, wie es geht und versteht ist es übersichtlicher.

Hier ein Beispiel mit 5 CheckBoxen und einem Butten auf der Form

<Flags()> _
Public Enum Rechte
   None = 0
   S = 1
   I = 2
   U = 4
   D = 8
   R = 16
End Enum
 
 
 
Public Class Form1
 
   Private myRechte As Rechte
 
   Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
     Handles Me.Load
      Me.CheckBox1.Tag = Rechte.S
      Me.CheckBox2.Tag = Rechte.I
      Me.CheckBox3.Tag = Rechte.U
      Me.CheckBox4.Tag = Rechte.D
      Me.CheckBox5.Tag = Rechte.R
   End Sub
 
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
     System.EventArgs) Handles Button1.Click
      MsgBox(GetRechteString)
   End Sub
 
   Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e _
     As System.EventArgs) _
      Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged, _
      CheckBox3.CheckedChanged, _
      CheckBox4.CheckedChanged, CheckBox5.CheckedChanged
 
      Dim tc As CheckBox = CType(sender, CheckBox)
 
      If tc.Checked Then
         myRechte = myRechte Or CType(tc.Tag, Rechte)
      Else
         If myRechte And CType(tc.Tag, Rechte) <> 0 Then
            myRechte = myRechte - CType(tc.Tag, Rechte)
         End If
      End If
 
      Debug.WriteLine(myRechte.ToString)
   End Sub
 
   Private Function GetRechteString() As String
      If myRechte <> Rechte.None Then
         Return myRechte.ToString.Replace(", ", "").Trim
      End If
      Return String.Empty
   End Function
 
End Class

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ausdruck für Schleifendurchlauf gesucht1.435schmacko04.11.09 08:35
Re: Ausdruck für Schleifendurchlauf gesucht801knoxi04.11.09 09:23
Re: Ausdruck für Schleifendurchlauf gesucht732schmacko04.11.09 09:29
Re: Ausdruck für Schleifendurchlauf gesucht761ModeratorDaveS04.11.09 09:36
Re: Ausdruck für Schleifendurchlauf gesucht743schmacko04.11.09 10:51
Re: Ausdruck für Schleifendurchlauf gesucht855schmacko05.11.09 07:53
Re: Ausdruck für Schleifendurchlauf gesucht737Snoopy05.11.09 10:07
Re: Ausdruck für Schleifendurchlauf gesucht716schmacko05.11.09 10:28

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