[C#] DLL 만들기 - 2 / dll에서 winForm 사용하기
내용이 이어지므로 이전 게시글 내용을 이해하고 있어야 합니다.
이번 게시글에서는 dll에서 winForm을 사용하는 방법을 알아보도록 하자.
DLL 만들기
1. 우선 새 프로젝트를 만들어야 한다. 프로젝트를 만들 때 Windows Forms 앱로 선택하여 만들도록 하자.

2. 프로젝트 명은 간단하게 작성해주자. 필자의 경우 dll_test_form으로 하였다.

3. 프로젝트를 실행한 후 아래 코드처럼 파일 및 클래스 명을 변경해주고, MessageBox을 띄우는 함수 displayMsg를 만들도록 하자.

using System.Windows.Forms;
namespace dll_test_form
{
public partial class dll_test_form : Form
{
public dll_test_form()
{
InitializeComponent();
}
public void displayMsg(string msg)
{
MessageBox.Show(msg);
}
}
}
4. 빌드하기 전 해당 프로젝트 속성으로 들어가자.

5. 출력 형식을 기존 Windows 애플리케이션에서 클래스 라이브러리로 변경하여 저장하자.

6. 프로젝트 빌드를 하여 dll 파일을 만들도록 하자.

7. 이전 게시글과 동일하게 dll을 사용할 프로젝트로 이동하여 사용할 dll을 추가해주자.

8. 해당 dll을 사용하는 코드를 간단하게 작성해보자. 아래 이미지와 코드를 참고하자.

using System;
using System.Windows.Forms;
namespace DLL_TEST_PROJECT
{
public partial class Form1 : Form
{
dll_test.Calc Calc = new dll_test.Calc();
dll_test_form.dll_test_form TestFormDll = new dll_test_form.dll_test_form();
public Form1()
{
InitializeComponent();
Console.WriteLine("10 + 20 : {0}", Calc.Add(10, 20));
Console.WriteLine("20 - 10 : {0}", Calc.Add(20, 10));
TestFormDll.displayMsg("Dll message form test");
}
}
}
9. 프로젝트를 실행하면 해당 MessageBox가 잘 표시되는 것을 볼 수 있다.

이전 게시글과 이번 게시글에서 dll 사용하는 방법을 아주 간단하게 알아보았다. 이것을 바탕으로 기능 단위로 dll을 분리하여 개발을 진행하면 디버깅이나 관리할 때 더 편한 것을 느낄 수 있을 것이다.
마지막
해당 내용은 틀릴 수도 있다는 것을 감안하여 봐주세요. 틀린 내용 및 오탈자 수정 요청 환영입니다.
반응형
'공유 > 기타' 카테고리의 다른 글
[Minio] prefix로 object 삭제하기 (0) | 2021.12.14 |
---|---|
[AWS] node에서 aws-sdk 사용하기 (0) | 2021.10.31 |
[C#] DLL 만들기 - 1 (0) | 2021.08.31 |
[C#] MessageBox, WinForm 최상단으로 띄우기 (0) | 2021.08.30 |
[AWS] AWS cli 설치 및 계정 2개 사용하기 (mac 기준) (0) | 2021.06.05 |