2009-12-11 3 views
0

새 사용자 지정 UserControl을 만들 때이 문제가 발생했습니다. 자세한 내용은 UserControl 컨테이너의 크기가 변경 될 때마다 DataGridView의 크기를 조정할 수 있도록 Anchor 속성이 [Left, Top, Right, Bottom]으로 설정된 DataGridView로 파생 된 UserControl을 만듭니다. 그러나 응용 프로그램이 실행될 때 결과는 정확히 예상되지 않습니다. DataGridView 오른쪽 및 아래쪽 가장자리 항상 UserControl 테두리 외부에서 커집니다. 이 문제를 이해하기 위해 디버깅했으며 UserControl이 만들어 질 때마다 크기가 [800, 600] 또는 그 이외의 값으로 설정 되더라도 항상 [100, 100]으로 기본 설정됩니다. 나는 이것이 이것이 문제의 원인이라고 생각한다. 우리가 UserControl을 디자인 할 때 더 큰 크기를 사용하지만 런타임에는 크기가 [100, 100]으로 기본 설정되어 있으므로 Anchor 속성의 자동 계산이 예상치 않게됩니다.UserControl 내부 컨트롤의 앵커 속성 문제

누구나 내게이 문제를 해결하는 방법에 대한 힌트를 줄 수 있습니까? 나에게는 한 가지 더러운 해결책이 있지만 때로는 오작동이 있습니다. 내 솔루션은 UserControl의 OnLoad 이벤트 처리기에서 자식 컨트롤의 오른쪽 및 아래쪽 가장자리를 설정합니다. 이 솔루션은 내 사용자 정의 UserControl 대부분의 잘 작동하지만 때로는 나를 오해시킵니다. 때로는 문제가 여전히 발생합니다. 그것은 나를 혼란스럽게 만든다.

누구든지이 문제에 대한 명확한 설명과 완벽한 해결책을 제공 할 수 있습니까?

덕분에 사전에

답변

0

는이 문제를 해결할 수있는 몇 가지 방법이 있습니다, 빠르고 쉬운 방법은 (스크롤바와)는 ASP 패널에서의 GridView을 넣어 100 %로 패널의 폭을 설정하는 것입니다. 이제 수직 및 수평 스크롤 할 수 있으므로 눈금 크기는 중요하지 않습니다.

+0

동일한 문제가있는 사람이 분명히이 문제를 해결하지 못합니다. – HumbleWebDev

0

내가 찾을 수있는 유일한 해결책은 부모 컨트롤과 관련하여 오작동하는 컨트롤의 높이와 너비를 설정하는 것 외에는 사용자 컨트롤 (말한 것처럼 정렬)을 사용하여 onload 이벤트를 수행하는 것입니다. .. 나는 datagridview가 있고 너비 - 50으로 설정하고 있습니다. 및 높이/2.5; 이것은 부모를 키우는 것을 막는 것처럼 보이지만, 여전히 닻을 내리는 것이 점점 더 커지고 있습니다. 어떤 이유로 든 앵커가이 버그를 일으키는 부모 User Control이 아닌 창에 앵커를 만들 것이라고 생각합니다.