Uso del control del cuadro de lista:
1) Propiedades de control
Elementos
Seleccionados
Selectiomodes
2) Enlace de datos
DataSoUre
Miembro de la pantalla
Valuemenber
3) Ejemplo
Lo siguiente comenzará a explicar el uso del control del cuadro de lista anterior uno por uno.
Primero, hablemos sobre las propiedades del control.
(1) Elementos: use esta propiedad para obtener las propiedades del elemento de control de la lista. Esta propiedad se puede usar para determinar los elementos seleccionados en el control de la lista. Al agregar elementos, puede agregarlos estáticamente durante el diseño o dinámicamente en el código. Si no desea mostrar elementos agregados en el momento de diseño, puede agregar esto.listbox1.items.clear () en su código; Solo se muestran las opciones agregadas en su código.
(2) Seleccionados: Obtenga la colección que contenga los elementos seleccionados actualmente en el cuadro de lista.
(3) Selectiomodes: obtenga o establezca el método utilizado para seleccionar elementos en ListBox. Hay cuatro valores para elegir; El valor predeterminado es SelectionMode.one, y solo uno puede seleccionarse; El valor de la propiedad es no se puede seleccionar ninguno; Cuando se presione la propiedad multiExtended, haga clic en el mouse al hacer clic en la tecla de cambio o una de las teclas de cambio y las teclas de flecha (arriba, abajo, izquierda y derecha) al mismo tiempo, el contenido seleccionado se ampliará desde el elemento seleccionado anterior al elemento actual. Al presionar la tecla CTRL al hacer clic en el mouse, seleccionará o desconectará un elemento en la lista; Cuando la propiedad se establece en multisimple, hacer clic o presionar la barra espacial seleccionará o no seleccionará un elemento en la lista.
A continuación, hablemos sobre el enlace de datos. Por lo general, los datos son variables, por lo que se requiere enlace de datos. Hay varios tipos de enlace de datos. Uno es vincular el datos o el conjunto de datos obtenido de la base de datos; El otro es personalizar una clase para unir los datos en la clase personalizada. Hay una pequeña diferencia entre la unión de datos en C# y la unión de datos en ASP.NET. Después de unir datos en ASP.NET, se debe llamar a un método de datos, pero no es necesario en C#. DisplayMember obtiene o establece las propiedades que se mostrarán.
Finalmente, hagamos un ejemplo como se muestra en la figura:
Hablemos solo sobre la implementación de varios métodos importantes, por lo que el código específico no se escribirá aquí. Ponga las opciones en el borde izquierdo en el borde derecho. Código:
La copia del código es la siguiente:
para (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);
}
Aunque se ha implementado la función anterior, hay un problema, es decir, el elemento de la izquierda se vuelve inversa después de alcanzar la derecha. Este es el código que necesitamos para escribir el ADD y moverse por separado, el código:
La copia del código es la siguiente:
para (int i = 0; i <this.listbox1.selecteditems.count; i ++)
{
Menú menú = (menú) this.listbox1.SelectedItems [i];
this.listbox2.items.add (menú);
}
para (int i = this.listbox1.selectedItems.count-1; i> = 0; i--)
{
this.listbox1.items.remove (i);
}
Hasta ahora, hay otro problema de que al seleccionar los primeros elementos en el cuadro, no hay problema para mover la derecha, pero al seleccionar los siguientes elementos, los siguientes elementos se mueven a la caja derecha, y los primeros elementos se mueven fuera del cuadro izquierdo. La razón de este problema es que
Los sitios y artículos seleccionados están confundidos. Este es un error que muchos principiantes son propensos a cometer. Código: