Утечка памяти в пользовательских курсорах

Я пытаюсь отследить утечку памяти и думаю, что это связано с используемыми пользовательскими изображениями курсора. Кажется, что новый курсор создается и отображается каждый раз, когда определенный объект перетаскивается в форме, но я не могу найти его нигде.

Я читал, что его нужно уничтожить, но я не уверен, как это сделать. Разве он не должен автоматически удаляться при изменении курсора?


person Shaun L    schedule 22.01.2009    source источник


Ответы (1)


Никогда не думайте, что что-то будет происходить автоматически. знак равно

Вот некоторый код, который я использую, надеюсь, это то, что вы ищете. Я просто выбрал суть, если вам нужно больше деталей, дайте мне знать.

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

    private void DestroyCursor()
    {
        if (this.moveCursor != null)
        {
            DestroyIcon(this.moveCursor.Handle);
        }
    }
person Dustin Brooks    schedule 22.01.2009
comment
Ну, я не уверен, что это решило проблему с утечкой памяти, которая у меня возникла, но проблема может быть не в курсорах. Хотя, похоже, это работает :) - person Shaun L; 22.01.2009