自定义游标中的内存泄漏

时间:2009-01-22 14:24:35

标签: c# winforms cursors

我正在尝试追踪内存泄漏,我认为这与使用的自定义光标图像有关。每次在表单上拖动某个对象时,似乎都会创建并显示一个新光标,但我找不到任何处理它的位置。

我读过它需要被销毁,但我不知道该怎么做。当光标改变时,它不应该自动处理吗?

1 个答案:

答案 0 :(得分:3)

永远不要假设任何事情都是自动的。 =)

以下是我使用的一些代码,希望它正是您所寻找的。我刚刚挑出了它的主旨,如果你需要更多细节,请告诉我。

    [DllImport("user32.dll")]
    private static extern bool DestroyIcon(IntPtr handle);
    private Cursor moveCursor;

    private void DestroyCursor()
    {
        if (this.moveCursor != null)
        {
            DestroyIcon(this.moveCursor.Handle);
        }
    }