Visual Studio의 C#에서 사용자 정의 컨트롤과 Windows 폼의 차이점은 무엇입니까?사용자 정의 컨트롤 대 Windows 폼
답변
아주 간단히 말하면 :
사용자 컨트롤 사용자 지정, 재사용 가능한 구성 요소를 만드는 방법입니다. 사용자 정의 컨트롤은 다른 컨트롤을 포함 할 수 있지만 폼에 의해 호스팅되어야합니다.
Windows 양식은 사용자 정의 컨트롤을 포함하여 컨트롤의 컨테이너입니다. 사용자 정의 컨트롤과 유사한 많은 특성을 포함하고 있지만, 주된 목적은 컨트롤을 호스트하는 것입니다.
윈도우 폼은 사용자 컨트롤을위한 컨테이너입니다.
그래서 사용자 컨트롤입니다! –
어떻게 양식을 사용자 정의 컨트롤에 넣을 수 있습니까? – Fredou
수는 없지만 사용자 정의 컨트롤에 사용자 정의 컨트롤을 넣을 수는 있습니다. –
그들은 공통적으로 로트을 가지고 있으며, 둘 다 ContainerControl에서 파생됩니다. 그러나 UserControl은 자식 창으로 디자인되었으므로 컨테이너에 배치해야합니다. 양식은 상위가없는 최상위 창으로 설계되었습니다.
당신은 실제로 false로 TopLevel이 속성을 설정하여 자식 창에 양식을 설정할 수 있습니다: UserControl을 나던이없이 터지는 같은 기능이있는 동안
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
var child = new Form2();
child.TopLevel = false;
child.Location = new Point(10, 5);
child.Size = new Size(100, 100);
child.BackColor = Color.Yellow;
child.FormBorderStyle = FormBorderStyle.None;
child.Visible = true;
this.Controls.Add(child);
}
}
하지만 IMO는 그렇게하지 않는 것이 좋습니다. :) –
불필요하게 사용하는 메모리가 아주 적습니다. 아주 작은 땅콩이 Control 클래스와 특히 고유 창 비용과 비교됩니다. Microsoft가 TopLevel 속성을 공개하지 않는 것은 매우 쉽습니다. 이 기능은 단지 모호하며 사용하는 것이 좋습니다. –
코드 선명도 및 구성의 관점에서 말하고있는 것 같습니다. 확실히, 당신은 이것을 할 수 있고, 확실히 지원되지만, 제 생각은이 좋은 예를 디자인 패턴으로 생각하지 않는 것입니다. :) –
가장 큰 차이는 form.show이고 다른 창을 제공합니다 부모의. 나머지는 Scrollablecontrol에서 파생 된 beind와 같은 두 컨트롤에서 동일합니다.
- 1. Windows Form - 사용자 정의 사용자 정의 컨트롤
- 2. Windows 폼 드래그 컨트롤
- 3. C# Windows 폼 컨트롤 이미지?
- 4. Windows 모바일 사용자 정의 목록보기 컨트롤 #
- 5. Windows 양식의 사용자 정의 탭 컨트롤
- 6. 사용자 정의/사용자 컨트롤
- 7. 윈도우 대 사용자 컨트롤
- 8. 사용자 컨트롤 클릭 - Windows Forms
- 9. 계층 구조 사용자 정의 사용자 정의 컨트롤
- 10. Wpf 사용자 정의 컨트롤
- 11. VB.NET의 사용자 정의 컨트롤
- 12. OpenLayers 컨트롤 사용자 정의
- 13. Jquery 사용자 정의 컨트롤
- 14. . NET 사용자 정의 컨트롤
- 15. 사용자 정의 UIpaging 컨트롤
- 16. ASP.NET 사용자 정의 컨트롤
- 17. asp.net의 사용자 정의 컨트롤
- 18. 사용자 정의 컨트롤 및
- 19. 질문에 사용자 정의 컨트롤
- 20. VB.NET의 사용자 정의 컨트롤
- 21. 저장시 사용자 정의 폼 호출
- 22. 사용자 정의 django 폼 필드
- 23. 레일에있는 사용자 정의 폼 요소
- 24. 윈도우 폼 컨트롤
- 25. 데이터 바인딩 사용자 정의 컨트롤
- 26. Windows 폼 컨트롤 라이브러리. 관리 및 Unamanaged
- 27. Windows 폼 : 여러 열이있는 TreeView 컨트롤
- 28. 컨트롤 대 WinForms의 UserControl?
- 29. C# 사용자 정의 컨트롤 다시 그리기
- 30. ASP.Net 사용자 지정 컨트롤 대 사용자 컨트롤 :이 둘은 동일합니까?
사용자가 다른 사용자 컨트롤을 호스트 (포함) 할 수 있습니까? –
@RobertNiestroj 가능합니다. – LxL