У меня есть приложение winform, которое имеет динамический номер (на основе значения базы данных) PictureBoxes
.Каждый P-Box имеет элемент управления Tooltip
.
Как изменить текст всплывающей подсказки без утечек памяти?Прямо сейчас у меня есть следующий код, но у него течет память => предыдущие элементы управления ToolTip не получают GC'd.
Кстати, это фоновый поток, который пытается обновить основной поток пользовательского интерфейса....
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();
}
Как я уже сказал - это работает, но течет.
У кого-нибудь есть предложения?