Wie überprüfe ich das CheckListBox-Element mit einem Klick?


78

Ich codiere die Windows- FormsAnwendung in C # und verwende CheckListBoxControl.

Wie überprüfe ich das CheckListBox-Element mit nur einem Klick?

Antworten:


174

Ich denke du suchst

CheckOnClick- Eigenschaft

setze es auf true

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Kontrollkästchen bei Auswahl eines Elements umgeschaltet werden soll.


2
Sie finden dies im Eigenschaftenfenster des Kontrollkästchens.
Rahul

8

Stellen Sie die Eigenschaft auf diese Weise zur Entwurfszeit ein

Geben Sie hier die Bildbeschreibung ein

oder per Code:

CheckedListBox.CheckOnClick = true;

3

Ich habe gerade ein Problem gelöst, bei dem ich CheckOnClick über den Designer auf True gesetzt hatte, aber für die Benutzeroberfläche war noch ein zweiter Klick erforderlich, um Elemente zu überprüfen. Ich habe festgestellt, dass die Designer-Datei aus irgendeinem Grund nicht aktualisiert wurde, als ich den Wert geändert habe. Zum Auflösen ging ich in die Designer-Datei und fügte eine Zeile hinzu

this.Product_Group_CheckedListBox.CheckOnClick = true;

Danach hat es wie erwartet funktioniert. Ich bin mir nicht sicher, warum der Designer nicht aktualisiert hat, aber vielleicht hilft diese Problemumgehung jemandem.


1

Sie können alle auch per Knopfdruck oder auf Checkliste überprüfen

private void checkedListBox1_Click(object sender, EventArgs e)
{

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
        checkedListBox1.SetItemChecked(i, true);

}

Wie können Sie dies mit einer foreach-Anweisung tun?
Bryan

@Bryan versuchen Sie dies und Body of Loop Cast das Objekt in Checkliste foreach (Objekt Element in CheckedListBox1.CheckedItems)
Adiii

Die Verwendung des Befehls count in einer Schleife sollte vermieden werden. Wie der Name des Befehls besagt. Die Zählung verwendet die Zeit, um das Element in der Liste in jeder Iteration der Schleife zu zählen. Wenn die Liste nur eine Zählung unterstützt, verwenden Sie: int totalitems = checkedListBox1.Count; Verwenden Sie dann die Variable in der for-Schleife.
nivs1978

1

Sie können auch ein Kontrollkästchen außerhalb der CheckListBox verwenden, um alle Elemente zu aktivieren / deaktivieren. Fügen Sie im selben Formular ein Kontrollkästchen neben der CheckedListBox hinzu und nennen Sie es CkCheckAll. Fügen Sie das Click-Ereignis für die CheckBox hinzu (das ich dem CheckChanged-Ereignis vorziehe). Neben der CheckedListBox befindet sich eine Schaltfläche (BtnAdd), mit der alle markierten Elemente zu einer Datenbanktabelle hinzugefügt werden. Es ist nur aktiviert, wenn mindestens ein Element in der CheckedListBox aktiviert ist.

    private void CkCheckAll_Click(object sender, EventArgs e)
    {
        CkCheckAll.Text = (CkCheckAll.Checked ? "Uncheck All" : "Check All");
        int num = Cklst_List.Items.Count;
        if (num > 0)
        { 
            for (int i = 0; i < num; i++)
            {
                Cklst_List.SetItemChecked(i, CkCheckAll.Checked);
            }
        }
        BtnAdd_Delete.Enabled = (Cklst_List.CheckedItems.Count > 0) ? true : false;
    }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.