ListControl (Clase)
Actualización: noviembre 2007
Espacio de nombres: System.Windows.FormsEnsamblado: System.Windows.Forms (en System.Windows.Forms.dll)
[ComVisibleAttribute(true)] [ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] [LookupBindingPropertiesAttribute("DataSource", "DisplayMember", "ValueMember", "SelectedValue")] public abstract class ListControl : Control
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
/** @attribute LookupBindingPropertiesAttribute("DataSource", "DisplayMember", "ValueMember", "SelectedValue") */
public abstract class ListControl extends Control
La clase ListControl proporciona implementaciones de elementos comunes para los controles ListBox y ComboBox.
Las propiedades que se enumeran a continuación son de suma importancia para los usuarios de un ComboBox o ListBox de enlace de datos: la propiedad DataSource, la propiedad DisplayMember, la propiedad SelectedValue y la propiedad ValueMember.
El siguiente ejemplo de código es una aplicación completa que muestra la manera en que se pueden utilizar los miembros DataSource, DisplayMember, ValueMember y SelectedValue de la clase ListControl tal y como se implementa mediante la clase ListBox. En el ejemplo se carga ArrayList y el cuadro de lista. Cuando el usuario selecciona un elemento del cuadro de lista, el valor seleccionado se utiliza para devolver los datos asociados al elemento seleccionado.
using System; using System.Windows.Forms ; using System.Drawing ; using System.Collections ; namespace MyListControlSample { public class USState { private string myShortName ; private string myLongName ; public USState(string strLongName, string strShortName) { this.myShortName = strShortName; this.myLongName = strLongName; } public string ShortName { get { return myShortName; } } public string LongName { get { return myLongName ; } } public override string ToString() { return this.ShortName + " - " + this.LongName; } } public class ListBoxSample3:Form { private ListBox ListBox1 = new ListBox(); private TextBox textBox1 = new TextBox() ; [STAThread] static void Main() { Application.Run(new ListBoxSample3()) ; } public ListBoxSample3() { this.ClientSize = new Size(292, 181) ; this.Text = "ListBox Sample3" ; ListBox1.Location = new Point(24, 16) ; ListBox1.Name = "ListBox1" ; ListBox1.Size = new Size(232, 130) ; textBox1.Location = new Point(24, 160) ; textBox1.Name = "textBox1" ; textBox1.Size = new Size(240, 24) ; this.Controls.AddRange(new Control[] {ListBox1, textBox1}) ; // Populates the list box using DataSource. // DisplayMember is used to display just the long name of each state. ArrayList USStates = new ArrayList() ; USStates.Add(new USState("Alabama", "AL")); USStates.Add(new USState("Washington", "WA")) ; USStates.Add(new USState("West Virginia", "WV")); USStates.Add(new USState("Wisconsin", "WI")) ; USStates.Add(new USState("Wyoming", "WY")); ListBox1.SelectedValueChanged += new EventHandler(ListBox1_SelectedValueChanged); ListBox1.DataSource = USStates ; ListBox1.DisplayMember = "LongName" ; } private void InitializeComponent() { } private void ListBox1_SelectedValueChanged(object sender, EventArgs e) { if (ListBox1.SelectedIndex != -1) textBox1.Text = ListBox1.SelectedValue.ToString(); } } }
package MyListControlSample;
import System.*;
import System.Windows.Forms.*;
import System.Drawing.*;
import System.Collections.*;
public class USState
{
private String myShortName;
private String myLongName;
public USState(String strLongName, String strShortName)
{
this.myShortName = strShortName;
this.myLongName = strLongName;
} //USState
/** @property
*/
public String get_ShortName()
{
return myShortName;
}//get_ShortName
/** @property
*/
public String get_LongName()
{
return myLongName;
}//get_LongName
public String ToString()
{
return this.get_ShortName() + " - " + this.get_LongName();
} //ToString
} //USState
public class ListBoxSample3 extends Form
{
private ListBox listBox1 = new ListBox();
private TextBox textBox1 = new TextBox();
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new ListBoxSample3());
} //main
public ListBoxSample3()
{
this.set_ClientSize(new Size(292, 181));
this.set_Text("ListBox Sample3");
listBox1.set_Location(new Point(24, 16));
listBox1.set_Name("ListBox1");
listBox1.set_Size(new Size(232, 130));
textBox1.set_Location(new Point(24, 160));
textBox1.set_Name("textBox1");
textBox1.set_Size(new Size(240, 24));
this.get_Controls().AddRange(new Control[] { listBox1, textBox1 });
// Populates the list box using DataSource.
// DisplayMember is used to display just the long name of each state.
ArrayList uSStates = new ArrayList();
uSStates.Add(new USState("Alabama", "AL"));
uSStates.Add(new USState("Washington", "WA"));
uSStates.Add(new USState("West Virginia", "WV"));
uSStates.Add(new USState("Wisconsin", "WI"));
uSStates.Add(new USState("Wyoming", "WY"));
listBox1.add_SelectedValueChanged(
new EventHandler(listBox1_SelectedValueChanged));
listBox1.set_DataSource(uSStates);
listBox1.set_DisplayMember("LongName");
} //ListBoxSample3
private void InitializeComponent()
{
} //InitializeComponent
private void listBox1_SelectedValueChanged(Object sender, EventArgs e)
{
if (listBox1.get_SelectedIndex() != -1) {
textBox1.set_Text(listBox1.get_SelectedValue().ToString());
}
} //listBox1_SelectedValueChanged
} //ListBoxSample3
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile para Smartphone, Windows Mobile para Pocket PC
.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.