2012-04-17 6 views
0

사용자 정의 DesignSurface에 컨트롤을 추가하면 '크기 조정 테두리'가 그려집니다. VS Designer에서 잘 알려진 표준 테두리입니다. 컨트롤의 크기를 조정하기위한 8 개의 앵커가 있습니다. 컨트롤의 크기 나 위치를 프로그래밍 방식으로 변경하면이 테두리는이 변경 자체를 적용하지 않습니다. 이 컨트롤을 선택 해제하고 마우스로 강제로 다시 선택하여 강제로 다시 그려야합니다.사용자 정의 DesignSurface에서 컨트롤 주위에 테두리 크기 조정

내 질문은 : 코드에서이 테두리에 액세스하고 프로그래밍 방식으로 강제로 다시 그릴 수 있습니까?

미리 감사드립니다.

답변

0

예를 들어 :

Control control = new Control(); 
control.Location=new Point(10,10); 

이 시도 :

Control control = new Control(); 
PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(control)["Location"]; 
if (propertyDescriptor != null) 
{ 
    Point point = (Point)propertyDescriptor.GetValue(control); 
    point.Offset(5, 5); 
    propertyDescriptor.SetValue(control, point); 
} 

의 PropertyDescriptor의 방법 "SetValue는"가 "ComponentChanged 해고 할 수

이 마음에 들지 컨트롤의 위치를 ​​변경 "디자이너는 다시 그리기를 알리는 이벤트입니다.

관련 문제