2009-09-15 3 views
16

나는 C#에서 컨트롤을 개발했다. 무엇보다도이 컨트롤은 런타임에 다른 컨트롤을 팝업 할 수 있습니다. Visual Studio에서 어셈블리를 포함하면 내가 만든 컨트롤이 표시되지만 다른 컨트롤 (컨트롤에서 사용하는 컨트롤)도 표시됩니다. Visual Studio의 도구 상자에 표시하지 않을 것입니다. 클래스를 표시하지 못하게하기 위해이 클래스에 적용 할 수있는 특성이 있습니까? browsable 속성을 찾았지만 속성 및 이벤트 용이라고합니다.내 컨트롤이 도구 상자에서 사용하는 컨트롤을 "숨기려면"어떻게합니까?

답변

32

도구 상자에 표시하지 않으려는 클래스에 [ToolboxItem (false)] 특성을 추가하십시오.

+0

이제는 아이콘을 설정하는 방법을 알아야했습니다. ToolboxBitmap을 시도했지만 아직 작동하지 못했습니다. –

+2

ToolboxBitmap이 올바른 속성입니다. .bmp 파일을 프로젝트에 추가하고 빌드 작업이 자원으로 설정되어 있는지 확인해야합니다. 네임 스페이스 MyControls { [ToolboxBitmap (대해서 typeof (MyControl), "Example.bmp")] 대중이 밀봉 : 그럼,이 Example.bmp 및 컨트롤과 같은 폴더에, 같이 보일 것이다 당신의 ToolboxBitmap 특성이라고 가정 클래스 MyControl : 컨트롤 { } } – Josh

0

"public"대신 "internal"로 UserControl을 선언하면 다른 프로젝트에서 어셈블리를 참조 할 때 도구 상자에 나타나지 않습니다.

업데이트 : 또는 전혀 작동하지 않을 수 있습니다. 내 간단한 테스트 컨트롤을 제대로 작동하도록 설정할 수는 없습니다. "내부"가 작동하는지 알려주세요.

+0

내부적으로 작성하는 것이 도움이되지 않는다는 것을 확인했습니다. –

+0

그건 이상한 일입니다. 내부적으로 만들어서 내 프로젝트의 도구 상자에서 꺼내지 않았습니까? 오 물론, ToolboxItem 속성은 훨씬 더 의미가 있습니다. – MusiGenesis

관련 문제