TabVisible обходной путь - утечка памяти - PullRequest
0 голосов
/ 06 августа 2010

Я пытаюсь реализовать расширенные классы TabControl / TabPage для достижения реальной возможности TabVisible, поскольку свойство Visible TabPage не работает должным образом.

Я работаю с C # / WinForms / VS2005/ .Net FW 2.0;Я реализовал код следующим образом:

http://csharp.pastebin.com/AUnzRQLw

И я создал форму, чтобы проверить ее, установив / сняв флажки для флажков, чтобы показать / скрыть некоторые элементы управления VisibleTabPage, которые я добавил(HTTP ..// csharp.pastebin.com/MkGJGx2G).Но после определенного количества нажатий на флажки в случайном порядке приложение начинает выделять все больше и больше памяти и использует значительный объем ЦП для отображения / скрытия элементов управления TabPage.

Может ли кто-нибудь указать мнегде ошибка?

1 Ответ

1 голос
/ 06 августа 2010

Это слишком большой код, чтобы разобраться.Однако я вижу, что вы используете такие методы, как Remove () и Clear (), при этом вы никогда не вызываете метод Dispose () для вкладки.Эти страницы «припаркованы» и будут продолжать использовать системные ресурсы.Запустите Taskmgr.exe, вкладка Процессы, View + Select Columns, отметьте объекты User32.Вы, вероятно, увидите, что это число будет расти без ограничений, поскольку ваш код пропускает дескриптор для вкладки и всех ее элементов управления.

...