내 ListView 표시 목록이나 세부 사항 항목이없는 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/163472

  •  03-07-2019
  •  | 
  •  

문제

C# .NET 2.0을 사용하여 OndrawColumnheader, OnDrawItem 및 OnDrawSubitem 이벤트를 우선시하는 소유자가 그린 목록보기가 있습니다. 디자인 시간에 뷰 속성을 세부 사항으로 설정하면 모든 것이 아름답게 작동하며 뷰 속성 및 모든보기 모드 표시를 전환 할 수 있습니다 (타일보기를 사용하지 않음). 그러나 다른보기에서 시작하면 목록과 세부 사항보기가 모두 비어 있습니다.

코드를보고 싶을 것임을 알고 있지만 많은 것이 있습니다. 그래서 많은 것을 게시하는 것을 주저하지만 필요한 경우 할 수 있습니다. 누군가가 전에 이것을 본 적이 있는지 궁금합니다. View 속성은 사용자가 구조화 된 설정이므로 기본적으로 세부 사항에서 항상 시작할 수는 없습니다.

도움이 되었습니까?

해결책

Winforms ListView는 대부분 실제 Windows 컨트롤의 상단의 추상화 계층이므로, 반 직관적 인 행동의 측면이있어서 반 직관적 인 방법이 예의 바른 방법입니다.

델파이 개발자로서의 날부터 모호한 회상이 있습니다. 소유자가 ListView를 그리는 경우 항목을로드 할 때 ListView가 "세부 사항"모드에 있지 않으면 컨트롤의 하위 항목이 실제로 채워지지 않습니다.

시도 할 것들 ...

... 디스플레이 스타일을 변경 한 후 Winforms 컨트롤을 강제로 기본 창 손잡이를 재현하도록 강제로합니다. 메모리가 제공되면 DestroveHandle ()이 원하는 메소드입니다.

... 데이터를 다시로드하기 위해 응용 프로그램에 "새로 고침"이 있다고 가정하면 디스플레이 스타일을 변경 한 후 새로 고침 할 때 제대로 작동합니까?

... 다른 모든 것이 실패하면 Windows 프로그래밍에서 Charles 'Petzolds Classic의 사본을 빌리거나 훔치십시오.

다른 팁

하위 항목이 추가되지 않았거나 열이 추가되지 않았습니다. 그것이 나의 초기 느낌입니다.

디자이너를 사용하여 올바르게 구성하면 생성 된 디자이너 코드로 이동하여 Visual Studio가 방출 한 코드를 확인하여 올바르게 작동하도록하십시오. 그런 다음 해당 코드를 모방하십시오.

코드와 함께 말할 수있는 것은 아무것도 없지만 DrawColumnheader는 소유자 Draw 속성이 True로 설정된 경우에만 호출됩니다. View 속성에 따라 자동으로 True 및 False로 설정되어 있는지 확실하지 않지만 시도해 볼 가치가 있습니다. 따라서 애플리케이션을 시작하기 전에 OnderDraw가 True로 설정되어 있는지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top