문제

SharpWired 프로젝트에서 다운로드 창과 유사한 다운로드 구성 요소를 만들려고합니다. Firefox 또는 Safari에서. 즉, 진행률 표시 줄, 버튼 등을 포함하는 사용자 지정 컨트롤 인 다운로드의 단일 하향식 목록입니다.

요구 사항은 각 행에 요소가 하나씩있는 단일 목록이 있어야한다는 것입니다. 각 요소는 사용자 지정 컨트롤이어야합니다. 전체 목록은 동적으로 크기를 조정할 수 있어야하므로 목록을 더 길거나 짧게 만들면 필요할 때 스크롤 막대가 추가되고 더 얇거나 넓게 만들면 사용자 지정 컨트롤의 크기가 목록 너비에 맞게 조정되어야합니다.

우리는 FlowLayoutPanel를 사용해 보았지만 우리가 원하는 방식으로 작동하도록 크기를 조정하지 않았습니다. 가급적이면 사용자 지정 컨트롤의 고정을 왼쪽 및 오른쪽으로 설정해야합니다. 우리는 또한 TableLayoutPanel를 사용하는 것에 대해 생각했지만 동적으로 행을 추가하여 지금까지 너무 큰 오버 헤드를 초래했습니다.

이것은 매우 일반적인 사용 사례 임에 틀림 없으며 FlowLayoutPanel가이를 수행하는 직관적 인 방법이 없다는 것이 조금 이상해 보입니다. 유사한 일을했거나 우리를 진행시키기위한 요령이나 요령이있는 사람이 있습니까?

건배!
/ 아담

도움이 되었습니까?

해결책

데이터 바인딩을 사용하지 않으려면 (위에서 언급 한대로 DataRepeater 컨트롤을 통해) 일반 Panel 컨트롤을 사용하고 해당 AutoScroll 속성을 true로 설정하면됩니다 (스크롤바를 활성화하기 위해).

그런 다음 사용자 지정 컨트롤을 수동으로 추가하고 각 컨트롤의 Dock 속성을 Top로 설정할 수 있습니다.

다른 팁

.NET 3.5 SP1은 DataRepeater Windows Forms 컨트롤은 원하는 작업을 수행하는 것처럼 들립니다."다운로드"목록 (또는 목록이 나타내는 모든 항목)에 바인딩하고 필요한 컨트롤을 포함하도록 각 항목 패널을 사용자 지정합니다.

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