2008-10-02 7 views
5

J'utilise une zone de texte dans une application .NET 2 winforms configurée avec une AutoCompleteSource personnalisée. Y at-il de toute façon à travers le code que je peux augmenter la largeur de la liste qui apparaît contenant les suggestions automatiques complètes?Ajustement de la largeur de la liste déroulante de remplissage automatique dans une zone de texte

Idéalement, je voudrais le faire sans augmenter la largeur de la zone de texte, car je manque d'espace dans l'interface utilisateur.

+0

http://stackoverflow.com/questions/4820429/combo-box-drop-down-width-on-suggest Peut être modifié pour TextBox. – Loathing

Répondre

0

Hmmm, il n'y a pas vraiment de moyen direct. Vous devriez probablement avoir recours à la sous-classe (au sens API de Windows) pour faire cela, et même dans ce cas, il y aurait beaucoup de devinettes à faire.

1

Pas que je sache, mais vous pouvez auto-dimensionner la zone de texte afin qu'elle soit seulement large quand elle doit être, plutôt que toujours aussi large que le texte le plus long.

Exemple 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

Pour autant que je connais la classe TextBox enveloppe l'API complète saisie semi-automatique qui vient avec Windows. Hélas, ce fait n'est pas "portable" pour d'autres parties du framework .NET.

Questions connexes