WinForms에서 도킹 순서를 제어하는 방법
제목에서 알 수 있듯이 항목이 내 컨트롤의 맨 위에 도킹되는 순서를 제어하는 방법을 찾고 있습니다.
나는 윈도우 폼 디자이너를 가지고 놀았지만 정확히 내가 원하는 RightClick->Order->SendToFront
일이기 때문에 무엇을하고 있는지 찾을 수없는 것 같습니다 . 제가 할 수있는 한, 컨트롤에 콘텐츠를 추가하면 최신 콘텐츠가 항상 맨 위에 있고 최신 콘텐츠가 맨 아래에 있고 가장 오래된 콘텐츠가 맨 위에 오기를 원합니다. 상단.
요약 : WinForms (C #)에서 컨트롤 측면에 도킹되는 순서를 쉽게 제어 할 수있는 방법이 있습니까?
편집 : 컨트롤을 추가 할 때 코드 뒤에서이 작업을 수행해야합니다. WinForm 디자이너의 기능을 사용할 수 없습니다.하지만 제가하려는 것은 WinForms 디자이너SendToBack
와SendToFront
기능을모방하는 것입니다.
다음 방법을 사용하십시오.
myControl.SendToBack();
myControl.BringToFront();
보기 → 다른 창 → 문서 개요로 이동합니다.
해당 창에서 컨트롤을 끌어 원하는대로 도킹되도록합니다.
말했듯이, 컨트롤 컬렉션에 추가 된 최신 컨트롤이 맨 위에있는 컨트롤입니다. 맨 아래에 새 컨트롤을 추가해야하는 경우 컨트롤 목록을 만들고 목록에 컨트롤을 추가하고 목록을 반전 한 다음 컨트롤 컬렉션에 목록을 추가하는 것이 좋습니다.
List<Control> controls = new List<Control();
controls.Add(new myFirstControl());
controls.Add(new mySecondControl());
controls.Reverse();
this.Controls.AddRange(controls.ToArray());
컨트롤이 Controls 컬렉션에 추가되는 순서에 따라 도킹 순서가 결정됩니다.
제어 당신이 찾고있는 무엇을 달성하기 위해 두 가지 방법을 가지고 BringToFront
와 SendToBack
.
(다른 옵션을 표시하기 위해) : Visual Studio 2012 (이상) :
이렇게하면 컨트롤을 원하는 순서로 재배치 할 수 있습니다.
프로그래밍 방식으로이 작업을 수행 할 때이를 달성하는 매우 쉬운 방법이 있습니다.
containerPanel.Controls.SetChildIndex(Element, 0); //sends element to the bottom of the list
FlowLayoutPanel을 사용하면 원하는 작업을 정확하게 수행 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/2607508/how-to-control-docking-order-in-winforms
'programing' 카테고리의 다른 글
iOS7에서 탭시 UIButton이 강조 표시되지 않음 (0) | 2020.11.06 |
---|---|
github wiki 페이지에서 "spoiler"텍스트를 만드는 방법은 무엇입니까? (0) | 2020.11.06 |
Eclipse에서 메서드를 빠르게 구현 / 재정의하는 방법은 무엇입니까? (0) | 2020.11.06 |
PHP의 시간대가 주어지면 현재 날짜를 얻습니까? (0) | 2020.11.06 |
iOS 7에서 내비게이션 바의 높이는 얼마입니까? (0) | 2020.11.05 |