2008-10-02 32 views
5

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?Ajuste del ancho desplegable de autocompletar en un cuadro de texto

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

+0

http://stackoverflow.com/questions/4820429/combo-box-drop-down-width-on-suggest Se puede modificar para TextBox. – Loathing

Respuesta

0

Hmmm, realmente no hay una forma directa. 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.

1

No lo sé, 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?PostID=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 

End Class

0

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

Cuestiones relacionadas