Verwendung der Listbox -Steuerung:
1) Kontrolleigenschaften
Artikel
SelectedItems
Selektiomoden
2) Datenbindung
Datasoure
DisplayMember
Wertschöpfung
3) Beispiel
Im Folgenden werden die Verwendung des Listbox -Steuerelements über eins nach dem anderen erläutert.
Lassen Sie uns zunächst über die Eigenschaften der Kontrolle sprechen.
(1) Elemente: Verwenden Sie diese Eigenschaft, um die Eigenschaften des Listensteuerelements zu erhalten. Diese Eigenschaft kann verwendet werden, um die ausgewählten Elemente in der Listensteuerung zu bestimmen. Beim Hinzufügen von Elementen können Sie sie entweder während des Designs oder dynamisch im Code statisch hinzufügen. Wenn Sie nicht zur Entwurfszeit hinzugefügte Elemente anzeigen möchten, können Sie dies in Ihrem Code hinzufügen. Nur die in Ihrem Code hinzugefügten Optionen werden angezeigt.
(2) SelectedItems: Holen Sie sich die Sammlung mit den aktuell ausgewählten Elementen in der Listbox.
(3) Selektion: Holen Sie sich die Methode, mit der Elemente in ListBox ausgewählt werden können oder festlegen. Es gibt vier Werte zur Auswahl; Die Standardeinstellung ist SelectionMode.one, und nur einer kann ausgewählt werden. Der Eigenschaftswert ist nicht ausgewählt. Wenn die Eigenschaft multiextendiert wird, klicken Sie auf die Maus, während Sie auf die Schalttaste oder eine der Schalttaste und die Pfeiltasten (nach oben, links und rechts) klicken. Gleichzeitig wird der ausgewählte Inhalt vom vorherigen ausgewählten Element auf das aktuelle Element erweitert. Durch das Klicken auf die Strg -Taste beim Klicken auf die Maus wird ein Element in der Liste ausgewählt oder nicht ausgewählt. Wenn die Eigenschaft auf Mehrfacheinheit eingestellt ist, wird in der Liste ein Element in der Liste ausgewählt oder gedrückt.
Lassen Sie uns als nächstes über Datenbindung sprechen. Normalerweise sind die Daten variabel, sodass Datenbindung erforderlich ist. Es gibt verschiedene Arten von Datenbindung. Man soll den aus der Datenbank erhaltenen Dataatable oder Datensatz binden. Das andere besteht darin, eine Klasse anzupassen, um die Daten in der benutzerdefinierten Klasse zu binden. Es gibt einen kleinen Unterschied zwischen der Datenbindung in C# und der Datenbindung in ASP.NET. Nach dem Binden von Daten in ASP.NET muss eine Datenbankmethode aufgerufen werden, ist jedoch in C#nicht erforderlich. DisplayMember Ruft die zu angezeigten Eigenschaften ab oder legt fest.
Lassen Sie uns schließlich ein Beispiel machen, wie in der Abbildung gezeigt:
Sprechen wir einfach über die Implementierung mehrerer wichtiger Methoden, sodass der spezifische Code hier nicht geschrieben wird. Legen Sie die Optionen in die linke Grenze in die rechte Grenze. Code:
Die Codekopie lautet wie folgt:
für (int i = this.listbox1.selectedItems.count - 1; i> = 0; i -)
{
Menümenü = (Menü) this.listBox1.SelectedItems [i];
this.listbox2.items.add (Menü);
this.listbox1.Items.remove (i);
}
Obwohl die obige Funktion implementiert wurde, gibt es ein Problem, dh nach dem Erreichen des Rechten wird das Element links eine umgekehrte Reihenfolge. Dies ist der Code, den wir zum Hinzufügen schreiben und separat ausziehen müssen, den Code:
Die Codekopie lautet wie folgt:
für (int i = 0; i <this.listBox1.SelectedItems.count; i ++)
{
Menümenü = (Menü) this.listBox1.SelectedItems [i];
this.listbox2.items.add (Menü);
}
für (int i = this.listbox1.selectedItems.count-1; i> = 0; i--)
{
this.listbox1.Items.remove (i);
}
Bisher gibt es ein weiteres Problem, dass bei der Auswahl der ersten Elemente im Feld kein Problem, die rechte zu verschieben. Bei der Auswahl der nächsten paar Elemente werden die nächsten Elemente in die rechte Box verschoben, und die ersten Elemente werden aus dem linken Box verschoben. Der Grund für dieses Problem ist, dass wir es tun werden
SelectedItems und Elemente sind verwirrt. Dies ist ein Fehler, den viele Anfänger anfällig machen können. Code: