tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
2736
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mchashi mchashi ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    31
    Hallo Leute,

    ich hab folgenden Code:
    Code :
    1
    2
    3
    4
    
    private void uncheck_fields(string checkboxName, bool enable) {
        massieren_anzComboBox.Enabled = enable;
        // checkboxName + _anzComboBox.Enabled = enable;
    }
    Es soll also eine ComboxBox mit dem Namen (Wert) aus einer Variablen angesprochen werden, damit es variabel ist.

    Es soll also das möglich sein, was auskommentiert ist und natürlich nicht funktioniert.

    Danke schon mal.

    Gruß
    Sven.
     

  2. #2
    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
    Lauf in einer foreach alle Checkboxen von dir durch und frag ab, ob deren Name dein zusammengesetzer Name ist und wenn ja, dann halt Enabled setzen.

    Code :
    1
    2
    3
    4
    5
    6
    
    foreach (System.Windows.Forms.CheckBox cb in this.Controls) 
    {
      if (cb.Name == (checkboxname + enable)) {
        cb.Enabled = enable;
      }
    }
    Geändert von Norbert Eder (11.07.05 um 08:02 Uhr)
     

  3. #3
    mchashi mchashi ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    31
    Danke schon mal, hier mal mein Code zur Verdeutlichung:
    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
    
    private void kuessenCheckBox_CheckedChanged(object sender, EventArgs e)
    {
        bool enable;
     
        if (kuessenCheckBox.Checked)
            enable = true;
        else
            enable = false;
     
        this.kuessenAnzComboBox.Enabled = enable;
        this.kuessenNoteComboBox.Enabled = enable;
        this.kuessenDatumDateTimePicker.Enabled = enable;
    }
     
    private void streichelnCheckBox_CheckedChanged(object sender, EventArgs e)
    {
        bool enable;
     
        if (streichelnCheckBox.Checked)
            enable = true;
        else
            enable = false;
     
        this.streichelnAnzComboBox.Enabled = enable;
        this.streichelnNoteComboBox.Enabled = enable;
        this.streichelnDatumDateTimePicker.Enabled = enable;
    }
    Da hier Redundanz vorliegt, würde ich gerne folgendes machen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    private void checkBox_CheckedChanged(String name)
    {
        bool enable;
     
        if ("hier der übergebene String"CheckBox.Checked)
            enable = true;
        else
            enable = false;
     
        this."hier der übergebene String"AnzComboBox.Enabled = enable;
        this."hier der übergebene String"NoteComboBox.Enabled = enable;
        this."hier der übergebene String"DatumDateTimePicker.Enabled = enable;
    }
     
    private void streichelnCheckBox_CheckedChanged(object sender, EventArgs e) {
        this.checkBox_CheckedChangeged("streicheln");
    }
     
    private void kuessenCheckBox_CheckedChanged(object sender, EventArgs e) {
        this.checkBox_CheckedChangeged("kuessen");
    }
    Doch wie ist es möglich, mit Hilfe des übergebene Strings (name) die einzelnen Elemente anzusprechen?

    Vielen Dank im Voraus.

    Gruß
    Sven.
     

  4. #4
    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
    Dann nimmst du den gleichen Code den ich eh schon gepostet hab und machst eine kleine Änderung, nachdem es sich um unterschiedliche Controls handelt:
    Code :
    1
    2
    3
    4
    5
    
    foreach (Control c in this.Controls) 
    {
      if (c.Name == name)
        c.Enabled = enable;
    }
     

  5. #5
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    [OT Fun Mode ON]
    LOL Du sorry,
    Code :
    1
    2
    3
    
    kuessenAnzComboBox;
    streichelnAnzComboBox;
    massieren_anzComboBox;
    ...aber was schreibst Du da eigentlich? Ein interaktives *ups* Progamm?
    Wenn ja, braucht Du noch Tester? (für's Programm versteht sich )
    [/OT Fun Mode OFF]
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

Ähnliche Themen

  1. Objektname zusammensetzen aus Variablen
    Von SwissThrall im Forum Office-Anwendungen
    Antworten: 9
    Letzter Beitrag: 06.03.08, 18:26
  2. Objektname zusammensetzen aus Variablen
    Von SwissThrall im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 03.03.08, 11:36
  3. Variable in Objektname
    Von ZorroZ im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 26.11.05, 09:00
  4. Variable zusammensetzen
    Von Pullmann im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 19.04.05, 16:33
  5. variable zusammensetzen...
    Von tomate im Forum PHP
    Antworten: 3
    Letzter Beitrag: 20.02.05, 17:49