이 질문에는 이미 답변이 있습니다.
WindowsForm을 사용하여 C #에서 UserControl과 CustomControl의 차이점은 무엇입니까?
Windows 응용 프로그램과 웹 응용 프로그램 모두에 대한 사용자 지정 컨트롤과 사용자 정의 컨트롤이 있습니다. Windows 응용 프로그램 컨트롤에는 .cs 확장이 있습니다.
매우 일반적인 의미에서 사용자 정의 컨트롤을 만드는 것이 더 쉽습니다. 텍스트 상자, 레이블 등과 같은 기존 컨트롤을 폼에 끌어다 놓을 수 있습니다. 사용자 지정 컨트롤은 일반적으로 만드는 데 더 어려워 (시간이 많이 걸리지 만) 더 큰 유연성, 사용자 지정 가능성 및 통합을 제공합니다.
간단히 말해서 중요한 차이점은 다음과 같습니다. strong>
사용자 정의 컨트롤은 기존 컨트롤로 구성됩니다. 또한이 사실 때문에 때때로 복합 컨트롤이라고도합니다. 일반적인 예는 로그인 양식입니다. 폼과 모든 로직은이 '재사용 가능한'사용자 컨트롤 내에 포함됩니다.
사용자 지정 컨트롤은 사용자가 만드는 컨트롤입니다. Windows 양식에서는 위의 예에서와 같이 OnPaint 메서드를 재정의해야합니다. 사용자 정의 컨트롤은 사용자 컨트롤과 동일한 수준의 디자인 타임을 지원하지 않습니다 (예 : 기존 컨트롤 드래그 앤 드롭). 사용자 지정 컨트롤은 일반적으로 Visual Studio의 도구 상자에 추가 할 수있는 재사용 가능한 구성 요소로 간주되므로 일반적으로 비즈니스 또는 코드에 특정하지 않습니다.
다음은 몇 가지 코드 예제와 함께 다양한 양식으로 연결되는 링크입니다.http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx
그룹의 여러 컨트롤을 그룹화하려면 UserControl을 사용할 수 있습니다. 즉, 컨트롤 그룹을 만듭니다. 이는 프로젝트 내에서 다른 부분의 컨트롤에 대해 동일한 그룹을 사용하려는 경우에 기본적으로 수행됩니다.
기존 컨트롤을 확장하려면 CustomControl을 사용할 수 있습니다. 컨트롤은 다른 프로젝트에서 참조 할 수있는 DLL 파일로 컴파일됩니다.