gpt4 book ai didi

c# - 如何在 WinForm 应用程序的 PictureBox 中更改现有 ToolTip 控件的文本?

转载 作者:可可西里 更新时间:2023-11-01 02:58:58 26 4
gpt4 key购买 nike

我有一个 winform 应用程序,它有一个动态数字(基于数据库值)PictureBoxes。每个 P-Box 都有一个 Tooltip 控件。

如何在不发生任何内存泄漏的情况下更改工具提示文本?现在,我有以下代码,但它正在泄漏内存 => 以前的 ToolTip 控件没有得到 GC。

顺便说一句,这是一个正在尝试更新主 UI 线程的后台线程....

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();
}

正如我所说 - 这有效但它正在泄漏。

有人有什么建议吗?

最佳答案

不要每次都创建一个新的工具提示。使用可视化设计器将工具提示添加到窗体,就像您对任何其他控件或组件所做的那样。每次在窗体的工具提示上调用 toolTip.SetToolTip(...)。处置表单时将处置工具提示。

关于c# - 如何在 WinForm 应用程序的 PictureBox 中更改现有 ToolTip 控件的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7238525/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com