Ich codiere die Windows- Forms
Anwendung in C # und verwende CheckListBox
Control.
Wie überprüfe ich das CheckListBox-Element mit nur einem Klick?
Ich codiere die Windows- Forms
Anwendung in C # und verwende CheckListBox
Control.
Wie überprüfe ich das CheckListBox-Element mit nur einem Klick?
Antworten:
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.
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.
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);
}
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;
}