[winform] 사용자정의 컨트롤

728x90

사용자정의 컨트롤이란 기존의 컨트롤을 추가하거나 코드를 작성하여 자신만의 컨트롤을 만드는 것을 의미합니다.

 

1. 사용자 정의 컨트롤 만들기

사용자정의 컨트롤을 만들기 위해서는 먼저 새항목을 추가해야합니다.

 

 

winform의 사용자 정의 컨트롤을 추가하면 됩니다.

 

기존의 컨트롤등을 이용하여 자신만의 컨트롤을 꾸밉니다.

 

완성되었다면 Ctrl+Shift+B 를 눌러 빌드시킵니다.

 

 

Form1.cs 디자인에서 도구상자를 열어보면 사용자정의 컨트롤이 만들어진 것을 확인할 수 있습니다.

 

2.사용자 정의 컨트롤 사용방법

form1.cs

 

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 study10
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            userControl11.Label1Text = "aaaa";

            string uc1label = userControl11.Label1Text;

            //사용자컨트롤과 이벤트 핸들러 연결
            userControl11.MyClick += new EventHandler(myFuc1);
            userControl11.MyClick += new EventHandler(myFuc2);
        }

        //외부함수1
        private void myFuc1(object sender, EventArgs e)
        {
            MessageBox.Show("함수 1");
        }
        //외부함수2
        private void myFuc2(object sender, EventArgs e)
        {
            MessageBox.Show("함수 2");
        }

    }
}

 

 

userControl1.cs

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 study10
{
    public partial class UserControl1 : UserControl
    {
        //외부에서 접근하려면 이벤트 핸들러를 생성해야함
        public EventHandler MyClick;

        public UserControl1()
        {
            InitializeComponent();
        }


       public string Label1Text
        { 
            get //getter
            {
                return this.label1.Text;
            }
            set //setter
            {
                this.label1.Text = value;
            } 
        }

        private void button1_Click(object sender, EventArgs e)
        {

            MessageBox.Show("버튼1 클릭");

            //외부 기능이 동시에 실행
            EventHandler handler = MyClick;
            if (handler != null)
            {
                handler(sender, e);
            }
        }
    }
}

 

 

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

[winform] 컨트롤 이벤트  (0) 2024.05.16
[winform] 프로그램 배포  (0) 2024.05.16
[winform] 클래스 다이어그램 보는 법  (0) 2024.05.15
[winform] 단일 프로세스(MUTEX)  (0) 2024.05.13
[winform] 컨트롤  (0) 2024.05.13