vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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 - Fortgeschrittene
Re: Variables Sperren von Checkboxen 
Autor: DotNetErbse
Datum: 09.09.11 15:01

ok, nachdem der Anflug von Humor verflogen ist, kannste Dir ja DAS mal ansehen.

Es sollte Dir zumindest veranschaulichen, wie Du die Abhängigkeiten für Deine Checkboxen definieren kannst und wie die logischen Verknüpfungen gestaltet werden könnten.

Das Zusammensetzen der Regeln kannst Du Dir ja dann vornehmen, sollte aber auch nicht so schwer sein.
Vielleicht über einen "Lernmodus" bei dem die zu berücksichtigenden Checkboxen über die rechte Maustaste angeklickt werden, oder so...


Public Class Form1
 
    '1 Form
    '1 Panel
    '1 Textbox
    '1 Button
 
    Private lst_rules As New List(Of String)
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
 
        'Regeln für Checkboxen...
        tbxRules.Text = "CBX001=CBX002:0;CBX003:0;CBX004:1" & "|" & _
          "CBX011=CBX012:1;CBX013:0;CBX014:0"
 
        'Checkboxen erzeugen
        CreateCheckboxes()
 
        'Regeln laden
        LoadRules()
 
        'Regeln anwenden, später bei jedem Click...
        checkRules()
 
    End Sub
 
 
    Private Sub CreateCheckboxes()
 
        'Erzeugen der 100 Checkboxen...
        Dim cbx As CheckBox = Nothing
        Dim spalte As Integer = 10
        Dim zeile As Integer = 10
        Dim spaltenabstand As Integer = 70
        Dim zeilenabstand As Integer = 40
        Dim nr As Integer = 0
        For intZeile As Integer = 1 To 10
            spalte = 10
            For intSpalte As Integer = 1 To 10
                nr += 1
                cbx = New CheckBox
                With cbx
                    .Name = "CBX" & Format(nr, "000")
                    .Left = spalte
                    .Top = zeile
                    .Text = .Name
                    .Width = spaltenabstand
                End With
                AddHandler cbx.CheckedChanged, AddressOf CBX_CheckedChanged
                pnl.Controls.Add(cbx)
                spalte += spaltenabstand
            Next
            zeile += zeilenabstand
        Next
    End Sub
 
    ''' <summary>
    ''' Regeln laden
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub LoadRules()
        lst_rules.Clear()
        lst_rules.AddRange(tbxRules.Text.Split("|"))
    End Sub
 
    ''' <summary>
    ''' Regeln checken
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub checkRules()
 
        Dim result As Boolean = False
 
        'nun die Regeln durchlaufen und checken..., bei jedem CheckedChanged
        For Each el As String In lst_rules
 
            'Reststring, hier sind die zu prüfenden Checkboxen und die 
            ' Bedingungen drin
            Dim rest As String = el.Split("=")(1)
 
            'Check auf eingestellte Werte
            For Each elmt As String In rest.Split(";")
 
                'solange die Bedingung stimmt...
                If CType(pnl.Controls(elmt.Split(":")(0)), CheckBox).Checked = ( _
                  elmt.Split(":")(1) = 1) Then
                    result = True
                Else
                    'sonst raus
                    result = False
                    Exit For
                End If
            Next
            CType(pnl.Controls(el.Split("=")(0)), CheckBox).Enabled = result
        Next
    End Sub
 
    ''' <summary>
    ''' Anwenden der Regeln
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub btnUseRules_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles btnUseRules.Click
        LoadRules()
    End Sub
 
    ''' <summary>
    ''' per AddHandler
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub CBX_CheckedChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs)
        checkRules()
    End Sub
End Class

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Variables Sperren von Checkboxen2.142Seo08.09.11 13:49
Re: Variables Sperren von Checkboxen1.496DotNetErbse08.09.11 13:59
Re: Variables Sperren von Checkboxen1.504Seo08.09.11 14:12
Re: Variables Sperren von Checkboxen1.554ModeratorDaveS08.09.11 14:15
Re: Variables Sperren von Checkboxen1.476DotNetErbse08.09.11 14:53
Re: Variables Sperren von Checkboxen1.527ModeratorDaveS08.09.11 16:05
Re: Variables Sperren von Checkboxen1.534DotNetErbse09.09.11 15:01
Re: Variables Sperren von Checkboxen1.476ModeratorDaveS09.09.11 18:18
Re: Variables Sperren von Checkboxen1.540Franki09.09.11 23:46
Re: Variables Sperren von Checkboxen1.541ModeratorDaveS10.09.11 08:36
Re: Variables Sperren von Checkboxen1.446Seo14.09.11 10:48
Re: Variables Sperren von Checkboxen1.435DotNetErbse13.09.11 07:54

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