【发布时间】:2009-01-22 14:24:34
【问题描述】:
我正在尝试追踪内存泄漏,我认为这与正在使用的自定义光标图像有关。每次在表单上拖动某个对象时,似乎都会创建并显示一个新光标,但我无法找到它正在处理的任何地方。
我读到它需要销毁,但我不知道该怎么做。光标改变时不应该自动释放吗?
【问题讨论】:
我正在尝试追踪内存泄漏,我认为这与正在使用的自定义光标图像有关。每次在表单上拖动某个对象时,似乎都会创建并显示一个新光标,但我无法找到它正在处理的任何地方。
我读到它需要销毁,但我不知道该怎么做。光标改变时不应该自动释放吗?
【问题讨论】:
永远不要假设任何事情都会自动发生。 =)
这是我使用的一些代码,希望它是您正在寻找的。我只是挑选了它的主要内容,如果您需要更多详细信息,请告诉我。
[DllImport("user32.dll")]
private static extern bool DestroyIcon(IntPtr handle);
private Cursor moveCursor;
private void DestroyCursor()
{
if (this.moveCursor != null)
{
DestroyIcon(this.moveCursor.Handle);
}
}
【讨论】: