2013-04-15 1 views
3

사용자 정의 컨트롤이 생성 된 패널의 크기를 자동으로 조정하도록 설정하는 데 문제가 있습니다. 사용자 정의 컨트롤이 포함 된 기본 폼의 크기를 조정할 때이 사용자 정의 컨트롤의 크기가 전혀 변경되지 않아 사용자 환경이 좋지 않습니다.UserControl이 폼으로 자동 크기 조정을하지 않습니다.

은 지금까지 나는 다음과 같은 시도 :

  1. 확인 MinimumSizeMAXIMUMSIZE 속성을 사용자 컨트롤을 0으로 설정되어
  2. 모두 (1) 사용자 정의 컨트롤에
  3. 설정 자동 크기 조정 특성 및 (2) 패널이있는 곳
  4. 세트 앵커 th에 속성 전자 패널에 최고, 왼쪽, 아래 오른쪽
  5. 속성 (내가 다음 코드로 이런 짓을)

이를 사용자 제어를위한 채우기 설정 시도는 내 사용자 컨트롤의 동작에 아무런 영향을 미치지 않았습니다.

CalcUserControl calcControl = new CalcUserControl(CountryId); 
calcControl.Dock = DockStyle.Fill; 
panelUserCtrl.Controls.Clear(); 
panelUserCtrl.Controls.Add(calcControl); 

모든 제안을 많이 주시면 감사하겠습니다.

답변

2

AutoSize 속성을 False로 설정해보십시오. 그 제거 된 컨트롤은 여전히 ​​존재 것이기 때문에 그렇지 않으면 메모리가 누수되는

while (panelUserCtrl.Controls.Count > 0) { 
    panelUserCtrl.Controls[0].Dispose(); 
} 

:

또한, 대신 Controls.Clear();를 호출, 무언가 같이, 그 안에 컨트롤을 처분하려고합니다.

+0

돌아와 줘서 고마워. 안타깝게도 AutoSize를 False로 설정해도이 문제가 해결되지 않았습니다. UserControl은 디자이너에서 지정한 원래 크기를 유지합니다. – user1391337

+0

또한 "Controls.Clear();" 귀하의 제안에 따라 라인. 고맙습니다. – user1391337

+0

@ user1391337 게시 한 코드가 동일한 결과를 재현하지 못합니다. 다른 컨테이너 컨트롤이 올바르게 크기를 조정하지 못하게하는 panelUserCtrl을 방해해야합니다. – LarsTech

0

또한 AutoSizeMode를 GrowAndShrink로 설정해야합니다.