이 문제는 매우 간단하지만 시각적으로 가장 잘 설명됩니다. 모든 스크린 샷은 Visual Studio 2005 디자인 화면에 있습니다. 실제로 응용 프로그램을 실행할 때 아무런 차이가 없다는 것을 알았습니다.다른 사용자 컨트롤 (때로는)에서 Winforms 사용자 정의 컨트롤이 잘리는 경우
은 여기 내 사용자 정의 컨트롤 (의이 UC-1를 부르 자)는 : 컨트롤에
alt text http://i34.tinypic.com/wciaer.png
버튼은 하단 + 마우스 오른쪽 단추로 고정하도록 설정되어 있습니다. 여기
은 특정 부모 사용자 컨트롤 (UC-A)에 배치 할 때 모습입니다 :
alt text http://i37.tinypic.com/2emnak9.png
색상 등의 차이를 무시하십시오. 일부 스타일은 사용자 정의 컨트롤의 생성자에서 수행됩니다.컨트롤의 아래쪽이 잘리는 것을 볼 수 있습니다. 부모에서 소비 된 컨트롤의 인스턴스는 "FixedSingle"테두리로 설정됩니다. 또한 소비 된 컨트롤의 높이가 원래보다 높다는 것을 알 수 있습니다. 이는 버튼 하단 앵커 설정이 존중되고 있음을 나타내지 만 본질적으로 오버 슛을 의미합니다.
다른 사용자 컨트롤이 확실히 부모 컨트롤에 문제가 확인주의 사항 (UC-2) 같은 상위에 배치 할 때 데이터 그리드보기를 포함 : 다시alt text http://i34.tinypic.com/2rgci7o.png
, 인스턴스 소비 된 컨트롤의 "FixedSingle"경계가 설정되어 클리핑을 설명하는 데 도움이됩니다. DataGrid가 Bottom Right에 제대로 고정되었습니다. 이 문제의 혼란을 강화하기 위해, 여기에서 제 1 사용자 제어이다 (UC-1) 다른 상위 사용자 제어 (UC-B)에 배치 된 (여기서 alt text http://i38.tinypic.com/2rnyjd0.png
번째 "소비"컨트롤 UC -2) 형태로 소비 할 때 :
alt text http://i34.tinypic.com/rr8uc9.png
공지 사항, 아니 클리핑이 시간을.
나는 이것을 해결하기 위해 많은 시간을 들여 실험을 해왔다. 나는 여백, 채우기, 크기 (최소/최대), 위치, 앵커 등 다양한 설정을 다 써 버렸습니다.이 인생의 한 순간에 왜이 한 명의 사용자 정의 컨트롤이 이런 식으로 클립하는 자식 사용자 컨트롤을 일으키는 지 알 수 없습니다. .
내가 알아챈 또 다른 이상한 점은 부모 사용자 컨트롤 디자인 화면 (컨트롤이 올바르게 작동하지 않는 곳)에서 실행 취소 작업을 수행하면 실행 취소 동작이 해당 컨트롤과 관련이 없는데도 잘린 사용자 컨트롤 인스턴스가 실제로 위치를 이동한다는 것입니다. 예를 들어 주 컨트롤을 포함하는 컨트롤을 크게 만든 다음 실행 취소하면 몇 가지 하위 사용자 컨트롤이 위로 올라갑니다. 그들은 깎을 때까지 움직이는 것처럼 보입니다. 아주 의심 스럽네.
아무도 무슨 일이 일어나고 있는지 전혀 생각하지 못합니까 ??
해결 방법을 찾으셨습니까? – idstam
아니요. 작년에 한 프로젝트에서 제가 오랫동안 작업하지 않은 문제였습니다. 디자인 시간 문제 였기 때문에 우리가 일을 처리 한 후에는별로 염려하지 않으므로 더 이상 생각하지 않았습니다. – Peter