Establezca la propiedad DropDownStyle del control ComboBox a DropDownList y, a continuación, escriba los primeros caracteres del elemento en ComboBox durante el tiempo de ejecución. El elemento seleccionado en ComboBox no coincide con caracteres que escriba. El elemento seleccionado en el ComboBox se basa en el último carácter que escriba. Por ejemplo, si los elementos de ComboBox son rojo, roble y rosa, cuando escribe ro en ComboBox, el foco está en roble en lugar de rosa.
Para evitar este problema, agregue código que busca elementos con todos los caracteres que escribe en el control ComboBox. El código también debe seleccionar el elemento que se ajuste a todos los caracteres. Para borrar el texto de búsqueda a intervalos regulares, utilice un control Timer. Para ello, siga estos pasos:
En Visual Studio.NET o Microsoft Visual Studio 2005, cree un nuevo Windows aplicación mediante Visual Basic. NET, Visual Basic 2005 o Visual C#. NET.
De forma predeterminada, se crea Form1.
Desde el cuadro de herramientas, arrastre un temporizador a Form1.
En la ventana Propiedades, establezca Enabled en true.
Agregue la instrucción siguiente a la sección de declaración de variable del código:
Visual Basic .NET o Visual Basic 2005
Dim searchstr As String
Visual C# .NET
string searchstr;
Agregue el código siguiente al evento Load de Form1:
Visual Basic .NET o Visual Basic 2005
'set the timer interval and start the timer
Timer1.Interval = 1000
Timer1.Start()
Visual C# .NET
//set the interval and start the timer
timer1.Interval =1000;
timer1.Start();
Agregue el código siguiente al evento Tick de Timer1:
Visual Basic .NET o Visual Basic 2005
'empty the string for every 1 seconds
searchstr = ""
Visual C# .NET
//empty the string for every 1 seconds
searchstr="";
Agregue el código siguiente al evento KeyUp del ComboBox1:
Visual Basic .NET o Visual Basic 2005
searchstr = searchstr & Chr(e.KeyValue)
' If the Search string is greater than 1 then use custom logic
If searchstr.Length > 1 Then
Dim index As Integer
' Search the Item that matches the string typed
index = ComboBox1.FindString(searchstr)
' Select the Item in the Combo
ComboBox1.SelectedIndex = index
End If
Visual C# .NET
searchstr = searchstr + Convert.ToChar(e.KeyCode);
// If the Search string is greater than 1 then use custom logic
if (searchstr.Length > 1)
{
int index;
// Search the Item that matches the string typed
index=comboBox1.FindString(searchstr);
// Select the Item in the Combo
comboBox1.SelectedIndex=index;
}
En Visual Studio.NET o Microsoft Visual Studio 2005, cree un nuevo Windows aplicación mediante Visual Basic. NET, Visual Basic 2005 o Visual C#. NET.
De forma predeterminada, se crea Form1. Nota debe cambiar el código en Visual Basic 2005. De forma predeterminada, Visual Basic crea dos archivos para el proyecto cuando se crea un proyecto de formularios Windows Forms. Si el formulario se denomina Form1, los dos archivos que representan el formulario se denominan Form1.vb y Form1.Designer.vb. Escribir el código en el archivo Form1.vb. El Diseñador de Windows Forms escribe el código en el archivo Form1.Designer.vb. El Diseñador de Windows Forms se utiliza la palabra clave partial para dividir la implementación de Form1 en dos archivos independientes. Este comportamiento impide que el código generado por diseñador se mezcle con el código suyo.
Para obtener más información acerca de las nuevas mejoras del lenguaje Visual Basic 2005, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 814362
¿Cuánto esfuerzo ha dedicado personalmente para usar este artículo?
Muy poco
Poco
Moderado
Mucho
Muchísimo
Díganos las razones y qué podemos hacer para mejorar esta información
¡Muchas gracias! Sus comentarios nos ayudarán a mejorar los contenidos de soporte. Para más opciones de asistencia, visite la página de Ayuda y soporte técnico.