오늘 C#을 사용하여 패널에 여러 창 컨트롤을 순차적으로 맞추려고합니다. BringToFront()를 사용하여 스택 할 수 있도록 맨 위에 고정시키고 싶습니다.winforms 도킹 및 고정 동작의 조합
그러나 나는 또한 그 (것)들을 중심에두고 싶습니다. 현재는 도킹 동작으로 컨트롤이 화면 왼쪽으로 이동합니다 (그러나 위치 속성의 크기를 변경하고 위치 속성을 많이 변경 함).
그런 다음 컨트롤을 패널 위쪽에 고정하려고했습니다. 이 컨트롤을 중앙에 배치 할 수 및 또한 그들을 크기를 조정할 수 있지만 고정 스태킹 동작이 있으며 각 컨트롤을 이전 컨트롤을 덮어 씁니다.
나는 이것을 광범위하게 연구 해 왔으며이 질문에 대한 답변을 찾지 못했습니다. 이 속성 중 하나 또는 모두를 사용하여 컨트롤을 패널 중앙에 쌓을 수 있습니까?
는내 코드는 현재도록 약자
//Docking
userControl.Dock = DockStyle.Top;
userControl.Width = 633;
userControl.Left = (pnlRules.Width - userControl.Width)/2; //doesn't work
Point location = new Point(((pnlRules.Width - userControl.Width)/2), 0);
userControl.Location = location; //doesn't work
userControl.BringToFront();
OR
내 출력하거나 아름답게 조정할 왼쪽 패널 에지 (도킹) 또는 중첩 제어 바인딩 컨트롤을 적층 중심이되는 (//Anchoring
userControl.Anchor = AnchorStyles.Top;
Point location = new Point(((pnlRules.Width - userControl.Width)/2), 0);
userControl.Location = location;
userControl.BringToFront(); //doesn't work
정박)
감사합니다 :) 아냐
편집 : 이 아주 잘 내 문제의 캡션 : 는 http://www.techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/
이 도킹을 사용하여, 컨트롤이 서로 옆에 적재 될 수 있음을 설명한다. 도킹 된 누적 컨트롤이 패널의 왼쪽 가장자리에 바인딩되지 않도록하고 싶습니다.
체크 ['TableLayoutPanel' (http://msdn.microsoft.com/en-us/library/system.windows. forms.tablelayoutpanel.aspx), 레이아웃 주문이 있습니다. 'BringToFront()'에 관해서는, 뒤에서 뭔가를 드러내지 않고 보이지 않게 ('Visible = false') 가질 수 있고 적절히 배치 될 수 있습니다. – Sinatr
당신이하려는 것을 명확히하지 않습니다. * BringToFront * 컨트롤을 누른 다음 위에 컨트롤을 추가하면 보이지 않습니다. –
현재 BringToFront()를 사용하여 내 컨트롤의 z- 순서를 설정하고 있습니다. 컨트롤 목록으로 페이지의 모든 컨트롤을 표시 할 수 있습니다. 한 번에 하나씩 컨트롤을 추가하고 기존 목록의 끝에 추가해야합니다. –