2013-03-08 2 views
1

WindowsForm을 사용하는 C#의 UserControl과 CustomControl의 차이점은 무엇입니까?C#의 UserControl 대 CustomControl

+0

감사합니다 ... 자세히 설명해 주시겠습니까?, –

+1

[일반 및 단순] (http://programmers.stackexchange.com/questions/102300/is-there-any-difference-between-custom -control-and-user-control-in-net) – DHN

+3

http://stackoverflow.com/questions/1322451/what-is-the-difference-between-user-control-custom-control-and-component - lots가 있음 자세한 내용 –

답변

3

Windows 응용 프로그램과 웹 응용 프로그램 모두에 대한 사용자 지정 컨트롤과 사용자 컨트롤이 있습니다. Windows 응용 프로그램 컨트롤에는 .cs 확장이 있습니다.

매우 일반적인 의미에서 사용자 정의 컨트롤을 만드는 것이 더 쉽습니다. 텍스트 상자, 레이블 등과 같은 기존 컨트롤을 폼에 끌어다 놓을 수 있습니다. 사용자 지정 컨트롤은 일반적으로 만드는 데 더 어려워 (시간이 많이 걸리지 만) 더 큰 유연성, 사용자 지정 가능성 및 통합을 제공합니다.

요컨대 큰 차이점이있다 :

사용자 제어는 기존의 제어로 구성된다. 또한이 사실 때문에 때때로 복합 컨트롤이라고도합니다. 일반적인 예는 로그인 양식입니다. 폼과 모든 로직은이 '재사용 가능한'사용자 컨트롤 내에 포함됩니다.

사용자 지정 컨트롤은 사용자가 만드는 컨트롤입니다. Windows 양식에서는 위의 예에서와 같이 OnPaint 메서드를 재정의해야합니다. 사용자 정의 컨트롤은 사용자 컨트롤과 동일한 수준의 디자인 타임을 지원하지 않습니다 (예 : 기존 컨트롤 드래그 앤 드롭). 사용자 지정 컨트롤은 일반적으로 Visual Studio의 도구 상자에 추가 할 수있는 재사용 가능한 구성 요소로 간주되므로 일반적으로 비즈니스 또는 코드에 특정하지 않습니다. http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx

+0

"사용자 지정 컨트롤에는 시각적 인 인터페이스가 없습니다." 이 진술은 정확합니까? CustomControl의 "사용자 지정"은 개발자 (개발자)가 컨트롤의 시각적 요소 (예 : 경계, 클라이언트 영역, 모양 등)를 그리는 것을 의미한다고 생각했습니다. CustomControl에서 OnPaint 메서드 등을 사용하면 훨씬 많은 시간을 소비 할 수 있다고 생각했습니다. –

+0

-1, 당신은 ASP.Net에 대해 이야기하고 있습니다, OP는 winforms에 대해 질문했습니다. – ken2k

+0

@ ken2k - 사과, 나는 Windows Forms를 커버하기 위해 나의 대답도 업데이트했다. –

2

당신은 당신이 원하는 경우 그룹의 그룹에 많은 컨트롤을 UserControl을을 사용할 수 있습니다 : 여기

몇 가지 코드 예제와 다른 형태로가는 링크입니다. 즉, 컨트롤 그룹을 만듭니다. 이는 프로젝트 내에서 다른 부분의 컨트롤에 대해 동일한 그룹을 사용하려는 경우에 기본적으로 수행됩니다.

기존 컨트롤을 확장하려는 경우 CustomControl을 사용할 수 있습니다. 컨트롤은 다른 프로젝트에서 참조 할 수있는 DLL 파일로 컴파일됩니다.