[C#] 컨트롤들의 높이를 조절해보자 (Control set z-oder)

■ 맨 앞으로 나오게 하려면

textBox1.BringToFront();

■ 맨뒤로 보내려면

textbox1.SendToBack();

 

■ 높이 값을 직접 입력하는방법

//textbox1의 높이를 가져오자
int zIndex = parentControl.Controls.GetChildIndex(textBox1);

//맨앞으로 오게해보자.
textBox1.BringToFront();

//다시 아까위치로 이동시켜보자
parentControl.Controls.SetChildIndex(textBox1, zIndex);

 

■ 응용 예제

//_flowLayoutPanel1 위에 있는 컨트롤들의 위치를 위아래로 움직여보자 
 private void Control_On_Move(object sender, int UpDown)
 {
     //만약 UpDown = 1 이면 한칸더 앞으로 이동, UpDown = 0 이면 한칸 뒤로 이동
     Control c = (Control)sender;
     // 컨트롤의 z-order를 가져오자
     int zIndex = _flowLayoutPanel1.Controls.GetChildIndex(c);
     if (UpDown==1 && zIndex > 0)
     {
         // 위로 이동
         _flowLayoutPanel1.Controls.SetChildIndex(c, zIndex - 1);
     }
     if (UpDown == 0 && zIndex < _flowLayoutPanel1.Controls.Count-1)
     {
         // 아래로 이동
         _flowLayoutPanel1.Controls.SetChildIndex(c, zIndex + 1);
     }
 }

 

Post Author: 김 키티

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다