[C# 윈폼] 윈폼 TabControl Page(페이지) 동적(dynamic) 으로 생성하는 방법


안녕하세요.

 

오늘은 C# 윈폼에서 제공하는 기본 컨트롤 중 하나인 TabPage 컨트롤을 다룰려고 합니다. 그 중에서도 Page를 동적으로 생성하는 방법에 대해서 알려드리려고 합니다.

 

제가 프로젝트를 하면서 매번 동적으로 탭 페이지를 생성해야 되는 일이 있었는데, 그때 작성한 코드로써, 유용하게 쓰일 것 같아서 공유하려고 합니다.


 

우선 다음과 같이 윈폼 빈 프로젝트를 생성해 주시고, Tab컨트롤을 하나 배치해 주시기 바랍니다.

 

윈폼 프로젝트 생성 및 컨트롤 배치



위와 같이 TabControl 하나를 배치 하였습니다.

 

이제는 그럼 위의 TabControl을 어떻게 사용자가 소스코드로 직접 동적으로 생성하는지 예제 코드를 통해서 보여 드리도록 하겠습니다.


TabControl 페이지 동적으로 생성하는 소스코드


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

34

35

36

37

38

39

40

41

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 TabPageTest

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

 

            this.Load += TabPage_Load;

        }

 

        /// <summary>

        /// 폼이 Load 

        /// 반복문 돌려서 Page 10 생성하기

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void TabPage_Load(object sender, EventArgs e)

        {

            TabPage tp = null;

 

            for(int idx = 1; idx <= 10; idx++)

            {

                string pageName = string.Format("page{0}", idx);

                tp = new TabPage(pageName);

                tabControl1.TabPages.Add(tp);

            }

        }

    }

}

 

Colored by Color Scripter

cs


실행 결과




위와 같이, 탭 컨트롤에 페이지가 10개 생성된 모습을 확인하실 수 있습니다.

 

비록 코드는 간단하지만, 이 코드를 이용해서 다양하게 탭 페이지를 생성하는데 유용하게 사용할 수 있을거라 생각합니다.

 

감사합니다.^^


728x90

이 글을 공유하기

댓글

Designed by JB FACTORY