윈폼(WinForm)에서는 기존에 제공하는 컨트롤(Control)을 조합해서 새로운 사용자 정의 컨트롤을 만들 수 있습니다. 사용자 정의 컨트롤을 만들게 되면 다른 프로젝트에서 재사용 할 수 있기 때문에 생산성을 높일 수 있습니다.
사용자 정의 컨트롤의 이해를 돕기 위해 날짜 확인 버튼 클릭 시 오늘 날짜가 메시지 박스로 출력되고, 시간 확인 버튼 클릭 시 현재 시간이 메시지 박스로 출력되는 예제를 만들어 보겠습니다.
사용자 정의 컨트롤 생성
Visual Studio에서 새 프로젝트
-> Windows Forms 컨트롤 라이브러리
를 선택 후 프로젝트 이름을 UserDateTime
으로 입력하고 프로젝트를 생성합니다.
프로젝트 생성 후 다음과 같이 컨트롤을 위치시키고 컨트롤의 속성 값을 설정합니다. TableLayoutPanel 안에 2개의 버튼을 위치시킵니다.
폼 컨트롤 | 속성 | 값 |
---|---|---|
UserControl | Name | UserControl1 |
Size | 200, 30 | |
TableLayoutPanel | Name | tableLayoutPanel1 |
Dock | Fill | |
ColumnCount | 2 | |
RowCount | 1 | |
Button | Name | btnDate |
Dock | Fill | |
Text | 날짜 확인 | |
Button | Name | btnTime |
Dock | Fill | |
Text | 시간 확인 |
각 버튼을 더블 클릭해서 버튼 클릭 이벤트를 다음과 같이 추가합니다.
namespace UserDateTime
{
public partial class UserControl1: UserControl
{
public UserControl1()
{
InitializeComponent();
}
private void btnDate_Click(object sender, EventArgs e)
{
string date = DateTime.Now.ToString("yyyy.MM.dd");
MessageBox.Show(date, "오늘 날짜");
}
private void btnTime_Click(object sender, EventArgs e)
{
string time = DateTime.Now.ToString("HH:mm:ss");
MessageBox.Show(time, "현재 시간");
}
}
}
빌드
-> 솔루션 빌드
를 클릭해서 프로젝트를 빌드합니다.
빌드가 성공적으로 완료되면 프로젝트 폴더\bin\Debug
폴더에 UserDateTime.dll
파일이 생성됩니다. 생성된 UserDateTime.dll
파일을 참조하면 다른 프로젝트에서 사용자 정의 컨트롤을 사용할 수 있습니다.
사용자 정의 컨트롤 사용
생성된 사용자 정의 컨트롤을 사용하기 위해 새로운 프로젝트를 생성하겠습니다.새 프로젝트
-> Windows Forms 앱
을 선택 후 프로젝트 이름을 UseUserControl
으로 입력하고 프로젝트를 생성합니다.
프로젝트 생성 후 도구 상자
를 우클릭 후 항목 선택
을 클릭합니다.
도구 상자 항목 선택
에서 찾아보기
를 클릭합니다.
빌드후 생성된 UserDateTime.dll
파일을 연 후 확인을 누릅니다.
사용자 정의 컨트롤에서 작성한 코드를 사용하고 싶은 경우 UserDateTime.dll
파일을 프로젝트에서 참조로 추가하면 됩니다.
만약 도구 상자에 놓을 수 있는 구성 요소가 없습니다.
라는 오류가 발생할 경우 UserDateTime.dll
파일을 도구 상자에 드래그 앤 드롭하면 사용자 정의 컨트롤이 생성됩니다.
UserDateTime.dll
파일을 열면 도구상자
-> 일반
에 UserDateTime
이라는 사용자 정의 컨트롤이 생성된 것을 확인할 수 있습니다.
사용자 정의 컨트롤을 폼에 드래그 앤 드롭해서 배치시킵니다.
프로젝트를 시작하고 날짜 확인
, 시간 확인
버튼을 누르면 메시지 박스가 뜨는 것을 확인할 수 있습니다.
댓글