Wie kann ich den text ändern eines vorhandenen QuickInfo-Steuerelement, in eine PictureBox in meinem WinForm-Anwendung?

Ich habe eine winform-Anwendung, die eine dynamische Anzahl (basierend auf einem Datenbank-Wert) von PictureBoxes. Jede P-Box hat eine Tooltip Kontrolle.

Wie kann ich das ändern Sie den QuickInfo-Text ohne irgendwelche memory leaks? Jetzt habe ich folgenden code, aber es ist undicht Speicher => der Vorherige ToolTip-Steuerelemente sind nicht immer GC würde.

BTW, dies ist ein hintergrund-thread, der versucht ein update der main-UI-thread....

if (pictureBox == null || !pictureBox.IsHandleCreated) {
    continue;
}

Action setTooltipAndImage = () => {
    var toolTip = new ToolTip();
    GameServer tempGameFile = gameServer;
    toolTip.SetToolTip(pictureBox, string.Format(...));
    pictureBox.Image = Resources.RedButton;
};

if (pictureBox.InvokeRequired) {                        
    pictureBox.Invoke(setTooltipAndImage);
} else {
    setTooltipAndImage();
}

Wie gesagt - das funktioniert aber es ist undicht.

Jemand irgendwelche Vorschläge?

InformationsquelleAutor der Frage Pure.Krome | 2011-08-30

Schreibe einen Kommentar