2017-12-21 35 views
0

Panel과 같은 컨트롤을 만들고 Label과 같은 여러 다른 구성 요소를 삽입하는 방법이 있습니까?단일 컨트롤에 다중 컨트롤

사용자 지정 컨트롤을 만든 다음 해당 컨트롤을 도구 상자의 [디자이너]에 추가했지만 사용자 지정 컨트롤을 주 프로젝트에 삽입 할 때 표시되지 않습니다.

답변

1

나는 그것을 마침내 발견했습니다.

는 기본적으로
  • 는 새로운 custom control
  • 그런 다음 (새롭게 만든 사용자 지정 컨트롤의 디자이너로) 레이블과 같은 도구 상자에서 일부 요소를 추가합니다. 상자로 표시됩니다.
  • 마지막으로 사용자 지정 컨트롤의 코드로 가서
    this.Controls.Add(label1)을 추가하십시오. 나는 이것을 다른 사람에게 컨트롤을 삽입하기 위해 폼 디자이너에서 발견했습니다.

MultiControl.cs : 여기에 디자이너 코드

public partial class MultiControl : Panel 
{ 
    public MultiControl() 
    { 
     InitializeComponent(); 
     this.Controls.Add(label1); 
    } 
} 

과 : 답장을 보내

partial class MultiControl 
{ 
    private System.Windows.Forms.Label label1; 

    private void InitializeComponent() 
    { 
     this. = new System.Windows.Forms.Label(); 
    } 
} 
0

사용자 정의 컨트롤과 주 프로젝트가 모두 같은 솔루션에 속하면 UserControl이 디자이너 도구 상자 의 맨 위에 자동으로으로 나타납니다.

그러나 사용자 정의 컨트롤이 다른 솔루션에 있고 기본 프로젝트에 dll에 대한 참조가있는 경우 도구 상자 에 수동으로을 추가해야합니다.

주 프로젝트에서 디자이너를 열고 도구 상자를 마우스 오른쪽 버튼으로 클릭하고 을 선택하십시오. 품목 ...을 선택하십시오.

.NET Framework 구성 요소에서 찾아보기를 클릭하고 사용자 정의 컨트롤의 DLL을 선택합니다.

확인을 클릭하십시오.

확인을 클릭하십시오.

이제 어셈블리의 모든 공용 컨트롤이 도구 상자에 표시됩니다.

+0

감사합니다. 실제로 저는 '패널'과 같은 통제를 만들고 패널에 더 많은 요소를 넣으려고합니다. 이 컨트롤 하나가 하나의 어셈블리로 여러 라벨이있는 패널이됩니다. 그들은 모두 같은 해결책 안에 있습니다. – Dextroy

+0

@Dextroy 컨트롤이 복합 컨트롤 (귀하의 것과 같은)이든 순전히 렌더링 된 것이 든간에 절차는 동일합니다. – MickyD