C#

Form 사이즈 변경

안녕1999 2020. 10. 10. 23:27
this.AutoSizeMode = AutoSizeMode.GrowAndShrink;//사이즈 변경 마우스 커서가 나타나지 않음

From의 AutoSize속성은 Form안의 컨트롤들의 위치/크기에 따라, Form의 크기를 자동 조정하는 기능이다.
Form이 resize인 경우에도 

버튼 같은 GUI 컨트롤의 AutoSize속성은 설정된 글자크기에 맞게, 사이즈가 자동으로 변하는 기능.

Form 크기를 변경 하면, 안에 내용의 크기도 같이 변하도록 하는 방법은?


//전체화면 크기로 변경
this.Size = Screen.PrimaryScreen.WorkingArea.Size;//전체화면 크기로 변경(100%크기가 안됨)
this.WindowState = FormWindowState.Maximized;//전체화면 크기로 변경(느리고, 제대로 안그려짐)



아래와 같은 방식으로 Scale할 수 있다.

		private void Form1_SizeChanged(object sender, EventArgs e)
		{
			m_ScaleForm.Form_SizeChanged();//자식컨트롤들의 크기와 위치를 다시 계산
		}
		ScaleForm m_ScaleForm;
		private void Form1_Load(object sender, EventArgs e)
		{
			m_ScaleForm = new ScaleForm(this);//자식컨트롤들의 위치와 크기 저장