tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
3347
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    theone101 theone101 ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    32
    Hallo. Ich hoffe ihr könnt mir da ein bissle weiterhelfen.

    Ich habe 50 Ceckboxen ich weiß des ist viel ich brauche die aber alle. Nun möchte ich aber ne abfrage rein machen sprich so:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    If Combobox1.Checked = False Then
                Pfad1.ReadOnly = True
                Time1.ReadOnly = True
            Else
                Pfad1.ReadOnly = False
                Time1.ReadOnly = False
            End If
    Pfad1 und Time1 sind Textboxen auch 50 Stück. Ich möchte nun aber nicht 50mal die abfragen hinschreiben. Gibt es da keine möglichkeit, etwa das so zu gestallten:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    For t As Integer = 1 To 50
    If Combobox [t].Checked = False Then
                Pfad [t].ReadOnly = True
                Time [t].ReadOnly = True
            Else
                Pfad [t].ReadOnly = False
                Time [t].ReadOnly = False
            End If
    So etwa auf die weise ich kenne mich nicht so gut mit VB 2005 aus.

    Gruß
    Thomas
     

  2. #2
    davejarjarbinks davejarjarbinks ist offline Mitglied Bronze
    Registriert seit
    May 2004
    Beiträge
    30
    Hallo, probier es mal so auf die art.....

    Ich habe alle CheckBoxen durchlaufen die auf Form1 vorhanden sind und danach die Eigenschaften ReadOnly von jedem einzeln Box ausgelesen und sofort neu gesetzt.
    Müsste auch bei dir gehen...

    PHP-Code:
      foreach (Control cc in this.Controls)
                {
                    if (
    cc is CheckBox)
                    {
                       
    string chk_Name "";
                       
    CheckBox CH = new CheckBox();
                        
    CH = (CheckBox)cc;
                        
    chk_Name cc.Name;                                    
                        
    // Den Name habe ich dir zum verständinss mit rein damit du siehst wie es arbeitet
                       
    MessageBox.Show(chk_Name);
                       if (
    CH.Readonly == true)  CH.Readonly false;
                     }
                 } 
    Hoffe das hilfe dir.
    P.S Ich weis nicht ob der Code Syntaktisch richtig ist, hab es schnell aus dem Kopfgeschrieben, muss bestimmt noch a bissl anpassen. Aber du siehst das Prinzip...

    Dave
    Geändert von davejarjarbinks (11.05.08 um 22:01 Uhr)
     

  3. #3
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Es gibt eine CheckedListBox, vielleicht wäre die besser geeignet.
    Oder noch besser über DataGridView.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  4. #4
    theone101 theone101 ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    32
    Erstmal Danke für die schnellen Antworten.

    Nun es geht mir weniger um die Checkboxen.
    Also in meiner Form habe ich 50 Textboxen, 50 MaskedTextboxen und 50 Checkboxen.
    Ich möchte das der Benutzer jeweils einzeln auswählen kann welche er will.
    Sprich Anfangs sind alle checkboxen deaktiviert und somit auch die Textboxen und die maskedtextboxen wenn z.b. checkbox1 aktiviert wird werden die textboxen auf readonly = false gesetzt und dann kann der benutzer auch was hineinschreiben. Dies kann er jetzt bei allen 50 machen wenn er will oder nur bei der ersten und letzten box usw.

    Mir geht es also darum wie ich die Abfrage in eine schleife pake, so das ich diese nicht 50 mal für jede einzelne checkbox extra schreiben muss.

    Gruß

    Thomas
     

  5. #5
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Mach dir ein eigenes Usercontrol, dass eben aus deinen 3 Feldern besteht und die gewünschte Funktionalität besitzt. Zudem sollte das UserControl zwei Eigenschaften anbieten. Eine um abzufragen ob sie "aktiviert" ist und eine zweite zum Abfragen der eingegebenen Werte (wenn mehrere Werte, dann mehrere Eigenschaften dafür).

    Dann kannst du schlussendlich alle deine Controls durchlaufen, abfragen ob sie aktiv sind und wenn die Werte auslesen und weiterverarbeiten.
     

  6. #6
    theone101 theone101 ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    32
    Hallo also ich ahb das Problem jetzt so gelöst:
    Code :
    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
    
    Dim Pfad_array() As TextBox = {Pfad1, Pfad2, Pfad3, Pfad4, Pfad5, Pfad6, Pfad7,...}
    Dim Pfadact_array() As CheckBox = {Pfadact1, Pfadact2, Pfadact3, Pfadact4,...}
     
    Private Sub All_CheckedChanged(...)
     
    If All.Checked = True Then
     
                'Schleife zum überprüfen aller 50 Boxen 
                For int_Pfad As Integer = 0 To 49
     
                   
                    Dim Pfad() As TextBox = Pfad_array
     
                    Dim Pfadact() As CheckBox = Pfadact_array
     
                    Pfad(int_Pfad) = New TextBox
                    Pfadact(int_Pfad) = New CheckBox
                    
                    If Pfad(int_Pfad).Visible Then
     
                        Pfadact(int_Pfad).Checked = True
     
                    End If
     
                Next
     
            Else
     
                'Schleife zum auschalten aller checkboxen
                For int_pfadact As Integer = 0 To 50
     
                    Dim Pfadact() As CheckBox = Pfadact_array
                    Pfadact(int_pfadact) = New CheckBox
                    Pfadact(int_pfadact).Checked = False
                Next
     
            End If

    Wenn ich das allerdings mit globalen Arrays mache funkt des net weis vielleicht jemand wieso. Sprich wenn ich die Arrays in der Schleife inizialisiere gehts aber ich möchte ja nicht immer diesen unmengen Code reinkopieren währe zwar jetzt nicht so schlimm aber ich möchte das natürlich gut machen.

    Hoffe jemand kann mir helfen mit dem Problem.

    Gruß Thomas
     

Ähnliche Themen

  1. C# Mehrere Strukturen in Schleife erstellen
    Von Zacha im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 21.05.10, 07:10
  2. in for schleife mehrere Objekte erstellen
    Von chmee im Forum Javascript & Ajax
    Antworten: 17
    Letzter Beitrag: 02.04.09, 12:30
  3. [Excel] Checkboxen über eine Schleife erzeugen lassen
    Von hauke1981 im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 11.12.08, 08:12
  4. mehrere Checkboxen
    Von daniel1234 im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 08.12.06, 21:30
  5. Checkboxen in Schleife?
    Von ThePhantom im Forum PHP
    Antworten: 2
    Letzter Beitrag: 23.10.03, 16:12