2013-05-08 2 views
0

기본 형식 클래스를 사용했습니다. enter image description here 맨 아래에 도킹 된 바닥 패널을 놓고이 패널 안에 두 개의 버튼을 넣습니다. 또한 나는이 기본 양식을 계승하고 내가 무슨 일이 일어나고 있는지 모르는 은 또한 내가 내 응용 프로그램에 없음기본 클래스의 버튼 위치가 바뀝니다

에 양식의 AutoScaleMode를 설정 한 "오른쪽, 최고"이 버튼의 앵커의 속성을 설정합니다. 내 단추가 내 패널 중간에 있습니다. 왼쪽으로 다시 설정하고 BaseForm을 다시 작성하면 중간으로 다시 이동합니다. enter image description here

+0

몇 가지 코드를 보여주세요! –

+0

@ Saeid87 코드에 관한 것이 아닙니다. 그것은 디자인 타임에 관한 것입니다. 어떤 코드 부분을 보여야할지 모르겠습니다. – Gandarez

답변

1

기본 폼의 컨트롤에 protected 수정자가있는 경우 이런 현상이 발생했습니다. 즉, 상속 된 폼이 컨트롤의 속성 (예 : Location)을 설정할 수 있음을 의미합니다. 이런 식으로하는 이유는 모르겠습니다.

Winforms가 노인으로 바뀌었을 때, 나는 그녀의 특질에 맞서 싸우지 않고 방금 주위를 치려고 노력했습니다 (예전 숙녀와 마찬가지로). 귀하의 경우에는 Panel 대신 FlowLayoutPanel을 사용하고 FlowDirection = FlowDirection.RightToLeft을 설정합니다.

+0

작동하지 않습니다. 감사. – Gandarez

0

panel_resize 이벤트에서 버튼을 수동으로 재배치하는 코드가 없는지 확인해 보셨습니까?

panel_resize(object sender, EventArgs e) 
{ 
    int buttonWidth = btnSubmit.Width + btnCancel.Width + 5; // 5 is buffer between 
    int leftOffset = (panel.Width - buttonWidth)/2 ; 

    btnSubmit.Left = leftOffset; 
    btnCancel.Left = btnSubmit.Right + 5; // Buffer 
} 

이 수동 크기 조정 이벤트 기간 동안 버튼을 센터 (다르게이 작업을 수행 할 수 있지만 그들이 무슨 짓을했는지.) 그리고 의미 : 내가 상속 일부 코드에서

이 많이있다 디자인 타임은 실제 런타임과 다르게 보입니다.

+0

코드가 없습니다. – Gandarez

관련 문제