2014-04-30 3 views
0

Nous utilisons l'UltraCombo d'Infragistics dans une application WinForms. Parfois, le texte affiché (dans la zone de liste déroulante elle-même, c'est-à-dire lorsqu'elle n'est pas développée) est trop long pour être complètement affiché.Afficher l'info-bulle uniquement lorsque le texte de l'UltraCombo d'Infragistics est trop long

Est-il possible de fournir uniquement des info-bulles lorsque ce texte est coupé et de ne pas afficher l'info-bulle lorsque le texte affiché est complètement inséré dans la liste déroulante UltraCombo?

Un grand merci ...

Répondre

2

La seule façon dont je suis au courant est de déterminer manuellement si le texte actuel est trop large.

Ajoutez une info-bulle au formulaire. Puis gérer l'événement TextChanging dans votre zone de liste déroulante.

private void ultraCombo1_TextChanged(object sender, EventArgs e) 
{ 
    var textWidth = TextRenderer.MeasureText(ultraCombo1.Text, ultraCombo1.Font).Width; 
    var textBoxWidth = ultraCombo1.ClientRectangle.Width - SystemInformation.VerticalScrollBarWidth; 
    if (textWidth < textBoxWidth) 
     toolTip1.SetToolTip(ultraCombo1, ""); 
    else 
     toolTip1.SetToolTip(ultraCombo1, ultraCombo1.Text); 
} 
Questions connexes