[C# Winform] Form에 Form 붙이기

2021. 12. 7. 21:07· C#/Winform
목차
  1. GOAL
  2. - Winform의 Main Form에서 버튼을 눌렀을 때 해당 Form을 Main Form에 붙여서 띄우기
  3. Form에 Form 붙이기 위한 작업 _ 1
  4. Form에 Form 붙이기 위한 작업 _ 2
728x90
반응형

 

 

C# 포스팅은 공부하면서 알아가는 것들을 정리하면서 썼습니다. 

Winform으로 하나씩 테스트하면서 정리한 것을 계속해서 포스팅할 예정입니다.

내용의 궁금한 점이나 잘못된 점이 있으면 댓글로 남겨주세요!


GOAL

- Winform의 Main Form에서 버튼을 눌렀을 때 해당 Form을 Main Form에 붙여서 띄우기


Form에 Form 붙이기 위한 작업 _ 1

 

 

- 테스트를 위한 버튼을 만들고 폼을 일반적으로 띄우는 형식입니다. 

- From.show()를 Btn_click 이벤트에 넣어서 사용했습니다. 하지만 이렇게 하면 다른 버튼을 누르는데 번거롭게 되며 

창을 옮기는데도 불편함이 생깁니다. 

 

 

- 먼저 FormBorderStyle을 None으로 하여 상태 표시줄을 사라지게 했습니다.

 

- ControlBox 속성을 False로 만들어 최소, 최대, 닫기 버튼을 사라지게 하였습니다.


Form에 Form 붙이기 위한 작업 _ 2

- 위 작업에서 붙일 Form의 BorderStyle과 ControlBox를 제거하였지만 붙인 것처럼 보일 뿐 

아래 사진처럼 실제로 붙은 상태는 아니게 됩니다.

 

- C#에서 Form도 객체를 만들고 상속받으므로 다른 컨트롤 안에 포함시킬 수 있습니다. 이 말은 main form 안에 포함시킬 수 있다는 뜻입니다.  

- Form의 속성 중 TopLevel이라는 속성이 있습니다. TopLevel을 True로 설정하면 부모 창이 없는 최상위 창으로 만든다는 의미이고 통상 메인 창으로 사용합니다. default는 True이며 저는 붙이기 위해 false로 지정했습니다. 

private void FrmMAIN_Load(object sender, EventArgs e)
{
  frmpGridINI.TopLevel = false;

  this.Controls.Add(frmpGridINI);

  frmpGridINI.StartPosition = FormStartPosition.Manual;
  frmpGridINI.Location = new Point(15, 60);
}

 

- 코드를 보시면 pGridINI.TopLevel = fasle로 만들고 this.Controls.Add() 즉, 메인의 컨트롤에 자식 폼을 추가함으로 폼을 붙일 수 있게 됩니다. 그리고 자식 폼의 startPosition을 manual로 만들어 원하는 곳에서 시작되게 할 수 있습니다.

 

결과) 

 

- 만들 결과를 보시면 main에 자식 폼이 붙어서 데이터를 주고받는 것을 볼 수 있습니다. 

 

 

틀린 점이나 질문이 있으시면 댓글로 남겨주세요! 

 

 

 

728x90
반응형
저작자표시 (새창열림)

'C# > Winform' 카테고리의 다른 글

C# Winform DataGridView Header Cell 높이 변경  (0) 2023.12.20
C# Winform DataGridView Column 높이 변경  (0) 2023.12.19
C# Winform DataGridView 이해  (0) 2023.12.19
C# Winform 이미지 히스토그램 구현  (2) 2023.11.29
[C# Winform] PropertyGrid 데이터를 INI 파일로 저장하기  (0) 2021.12.13
  1. GOAL
  2. - Winform의 Main Form에서 버튼을 눌렀을 때 해당 Form을 Main Form에 붙여서 띄우기
  3. Form에 Form 붙이기 위한 작업 _ 1
  4. Form에 Form 붙이기 위한 작업 _ 2
'C#/Winform' 카테고리의 다른 글
  • C# Winform DataGridView Column 높이 변경
  • C# Winform DataGridView 이해
  • C# Winform 이미지 히스토그램 구현
  • [C# Winform] PropertyGrid 데이터를 INI 파일로 저장하기
우준세
우준세
반응형
우준세
준세 단칸방
우준세
전체
오늘
어제
  • 분류 전체보기 (169)
    • Python (75)
      • Python 정리 (30)
      • 백준 알고리즘 (45)
    • C# (32)
      • Winform (11)
    • 영상처리 (17)
    • JAVA (11)
      • 코딩자율학습-스프링부트 (11)
    • AI (11)
      • DL (4)
      • Pytorch (5)
      • GAN (2)
    • Computer Science (3)
      • Algorithm (3)
    • Project (7)
    • 책 리뷰 (0)

블로그 메뉴

  • 글쓰기
  • 관리자

인기 글

태그

  • 파이썬
  • C# deadlock
  • C# 비동기
  • opencv
  • C# LockBits
  • C# 이벤트 핸들러
  • Python
  • pytorch tutorial
  • c# 정규표현식
  • 코딩자율학습
  • c언어
  • 백준 파이썬
  • 백준
  • C# 비동기 프로그래밍
  • C# propertygrid
  • python opencv
  • 알고리즘
  • pytorch tensor
  • 스프링부트
  • C# Task 메서드
  • opencv 객체 추적
  • C# image
  • Tensorflow Resnet
  • C# 이벤트 프로그래밍
  • C# Evnet
  • 이벤트 기반 프로그래밍
  • C# Monitor
  • 자바
  • c#
  • pytorch

최근 댓글

최근 글

우준세
[C# Winform] Form에 Form 붙이기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.