[C#] 윈폼 UserControl(사용자 정의 컨트롤)을 MainForm으로 호출하는 방법


 

이번 포스팅에서는 윈폼환경에서 UserControl(사용자 정의 컨트롤) MainForm에 호출해서 사용하는 방법에 대해서 알아보도록 하겠습니다.


 

실제 윈폼에서 각종 컨트롤을 가지고 프로젝트를 진행하실 때, 레이아웃을 구성하여 패널 등을 배치하고 해당 패널에 컨트롤들을 배치하여 UI를 구성하는 경우가 많습니다.


 

그래서 이번 포스팅에서는 PanelUserControl을 불러와서 디자인 하는 방법에 대해 알려드리려고 합니다.

 

우선 윈폼 빈 프로젝트를 아래와 같이 생성해 주시기 바랍니다.



그리고 도구상자에서 Panel 컨트롤을 위와 같이 배치하여 주시기 바랍니다.


 

여기 까지 하셨다면, 이제 UserControl(사용자 정의 컨트롤)을 만들어 주시기 바랍니다.


 

UserControl(사용자 정의 컨트롤)을 생성하는 방법은 아래와 같이 해주시면 되겠습니다.




해당 프로젝트에 마우스를 가져다 주시고, 우클릭을 통하여 추가-> 새 항목을 클릭하셔서 사용자 정의 컨트롤을 위와 같이 생성하시면 되겠습니다.

 


그러면 아래와 같은 화면이 뜨고, 여기서 저는 Button 컨트롤을 추가였습니다.


이제는 UserControl.cs안에 코드를 작성할 것인데,


간단히 해당 메시지박스 라는 버튼을 클릭하게 되면 MessageBox가 호출되는 코드를 작성하겠습니다.

 

[UserControl.cs]


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

8

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Drawing;

using System.Data;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace test

{

    public partial class UserControl1 : UserControl

    {

        public UserControl1()

        {

            InitializeComponent();

 

            this.btn.Click += uiBtn_MessageBox_Click;

        }

 

        private void uiBtn_MessageBox_Click(object sender, EventArgs e)

        {

            MessageBox.Show("메시지 박스 호출!!!!!");

        }

    }

}

 

Colored by Color Scripter

cs

 

다음으로는 이제 위에서 만든 UserControl(사용자 정의 컨트롤)MainForm에 불러오는 코드를 작성하도록 하겠습니다.

 

[MainForm.cs]


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace test

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

 

            this.Load += UserControlShow;

        }

 

        private void UserControlShow(object sender, EventArgs e)

        {

            //해당 UserControl 객체 생성

            UserControl1 user = new UserControl1();

 

            //Panel 컨트롤에 UserControl 붙이기

            panel1.Controls.Add(user);

 

        }

    }

}

 

Colored by Color Scripter

cs

 

[실행 결과 화면]


 

이렇게 해당 UserControlPaenl에 불러와 붙여져 있는 모습을 확인 하실 수 있습니다


또한, 메시지 박스라는 버튼을 클릭하게 되면, MessageBox가 제대로 호출 된 것도 확인하실 수 있습니다.

 

이거를 토대로 이제 디자인 하실 때, 사용자가 만든 UserControlMainForm에 자유자재로 디자인 할 수 있을 거라고 생각됩니다.^^

 

향후에, 위 부분 내용을 조금 더 자세히, 더 많은 컨트롤 등을 사용하여 디자인 하는 방법에 대해 학습하여 포스팅을 올리도록 하겠습니다.


 

읽어주셔서 감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY