TabPage의 Visible 속성이 예상대로 작동하지 않기 때문에 실제 TabVisible 기능을 얻기 위해 향상된 TabControl/TabPage 클래스를 구현하려고합니다.TabVisible 임시 해결 방법 - 메모리 누수
저는 C#/WinForms/VS2005/.Net FW 2.0으로 작업하고 있습니다. 내가 코드 이런 식으로 구현했습니다 :
http://csharp.pastebin.com/AUnzRQLw
을 내가 표시/내가 추가 한 일부 VisibleTabPage 컨트롤을 숨길 수있는 체크 박스를 (선택 취소/확인, 테스트를 위해 양식을했습니다 HTTP ..// csharp.pastebin.com/MkGJGx2G). 그러나 임의의 순서로 클릭 횟수를 초과하면 임의의 순서로 응용 프로그램이 더 많은 메모리를 할당하기 시작하고 TabPage 컨트롤을 표시하거나 숨기려면 상당한 양의 CPU를 사용합니다.
누군가가 버그를 어디에서 지적 할 수 있습니까?
확인란 상태가 변경 될 때 탭 페이지를 다시 초기화하는지 확인하는 것이 좋습니다. 이를 확인하는 가장 좋은 방법은 좋은 프로파일 러 (Windbg 등)를 다운로드하고 메모리에 어떤 객체가 있는지 확인하는 것입니다. –
예, 저는 메모리 프로파일 러를 사용하여 ArrayList 객체가 범인이라는 것을 알았습니다. TabControlEx 객체의 전체 수명 동안 유지 관리하는 private ArrayList를 만들었습니다. 문제가 해결되었습니다. – Alexandre