una sugerencias listas lista inteligente desplegables desplegable con búsqueda buscador autorrelleno autorelleno autocompletar .net winforms .net-2.0 textbox autocomplete

.net - sugerencias - lista desplegable excel autocompletar



Ajustar el ancho desplegable de autocompletar en un cuadro de texto (3)

Hasta donde yo sé, la clase TextBox envuelve la API de Autocompletar completa que viene con Windows. Por desgracia, este hecho no es "portátil" para otras partes del framework .NET.

Estoy usando un cuadro de texto en una aplicación .NET 2 winforms que se configura con un AutoCompleteSource personalizado. ¿Existe algún código que pueda aumentar el ancho de la lista que aparece con las sugerencias de autocompletar?

Idealmente, me gustaría hacer esto sin aumentar el ancho del cuadro de texto, ya que tengo poco espacio en la interfaz de usuario.


Hmmm, no hay una forma directa realmente. Probablemente tendrías que recurrir a la subclasificación (en el sentido API de Windows) del TextBox para hacer eso, e incluso entonces habría muchas conjeturas que hacer.


No es que yo sepa, pero puede ajustar automáticamente el tamaño del cuadro de texto para que solo sea ancho cuando sea necesario, en lugar de siempre tan ancho como el texto más largo.

Ejemplo de http://forums.microsoft.com/MSDN/ShowPost.aspx?PIDID=3311429&SiteID=1

Public Class Form1 Private WithEvents T As TextBox Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load T = New TextBox T.SetBounds(20, 20, 100, 30) T.Font = New Font("Arial", 12, FontStyle.Regular) T.Multiline = True T.Text = "Type Here" T.SelectAll() Controls.Add(T) End Sub Private Sub T_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles T.TextChanged Dim Width As Integer = TextRenderer.MeasureText(T.Text, T.Font).Width + 10 Dim Height As Integer = TextRenderer.MeasureText(T.Text, T.Font).Height + 10 T.Width = Width T.Height = Height End Sub

Clase final