ToolTip in ComboBox

CopWorker

Erfahrenes Mitglied
Hallo zusammen,

ich habe eine ComboBox als TropDownList mit mehreren Einträgen.
Die Einträge sind auf Grund des Platzangebotes in der ComboBox kurz gehalten.
Um ein aussagekräftiger Text anzuzeigen möchte ich ein ToolTip Text über jeden Eintrag legen
sobald man mit der Maus drüber geht und die Auswahl fokusiert ist.

Ich habe bereits schon Quellcode geschrieben.
Ist aber sehr umständlich und die ComboBox hat nicht mehr das Aussehen wie die restlichen Boxen im Dialog.
Zudem bleibt der letzte angezeigte ToolTip beim Verlassen der Box immer auf dem Dialog hängen.
Gefällt mir alles nicht. In ASP,NET scheint dies viel einfacher zu sein.

C#:
/// <summary>
/// Erstellt zum Zeitpungt der Fokusierung eines Eintrages im Auswahlfeld "Anforderung" den entprechenden ToopTip Text her
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void cmbRequest_DrawItem(object sender, DrawItemEventArgs e)
{
     string strText = string.Empty, strSelItem = string.Empty, strSelInter = string.Empty;

     if (e.Index < 0)
     { return; }

     //Texte aus den Combobox Items auslesen und interpretieren
    strText = strSelItem = cmbRequest.GetItemText(cmbRequest.Items[e.Index]);


     e.DrawBackground();

     using (SolidBrush br = new SolidBrush(e.ForeColor))
     {
          e.Graphics.DrawString(strText, e.Font, br, e.Bounds);
     }

     if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
     {
          //Hier wird der aussagekräftige Text für den entsprechenden Eintrag in der Auswahlliste ermittelt
          strSelInter = ConfigurationManager.AppSettings.Get(strSelItem + "interpret");
         ttRequest.Show(strSelInter, cmbRequest, e.Bounds.Right, e.Bounds.Bottom);
     }

     e.DrawFocusRectangle();
}

Für jeden Beitrag bin ich euch dankbar.
Grüße von CopWorker
 
Zurück