小编Arc*_*ald的帖子

Winform 工具提示内存泄漏。来自 timer_tick 的自处置控制

是否有可能在多次调用此函数时:

void Func(String spr, PictureBox pictureBox)
{
    ToolTip toolTip = new ToolTip();
    toolTip.Show(spr, pictureBox, 1000);
}
Run Code Online (Sandbox Code Playgroud)

会发生内存泄漏吗?

功能完成后工具提示是否仍然有可能只是超出范围并自行处理?

如果第一个问题的答案是“是”,那么创建我自己的 toolTip 是否是一个很好的解决方案?

public partial class MyToolTip : ToolTip
{
    public MyToolTip()
    {
        InitializeComponent();
        timer.Interval = this.AutomaticDelay;
    }

    private void timer_Tick(object sender, EventArgs e)
    {
        this.Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果在这种情况下这不是必要的,它是否适用于已知物体寿命的其他情况,或者只是糟糕的设计?

我选择这个解决方案是因为我希望能够同时显示许多工具提示。

c# memory-leaks winforms

1
推荐指数
1
解决办法
2072
查看次数

标签 统计

c# ×1

memory-leaks ×1

winforms ×1