제목에서 알 수 있듯이 항목이 내 컨트롤 맨 위에 도킹되는 순서를 제어하는 방법을 찾고 있습니다.
나는 윈도우 폼 디자이너를 가지고 놀았고 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());
답변
제어 당신이 찾고있는 무엇을 달성하기 위해 두 가지 방법을 가지고 BringToFront
와 SendToBack
.
답변
컨트롤이 Controls 컬렉션에 추가되는 순서에 따라 도킹 순서가 결정됩니다.