Visual Studio 2008의 WinForms 도구 상자에서 사용자 정의 .NET 컨트롤을 필터링하기위한 옵션은 무엇입니까?
-
19-08-2019 - |
문제
Visual Studio 2008은 양식 디자이너에 사용하기 위해 프로젝트에서 Toolbox로 컨트롤을 감지하고 추가하는 훨씬 더 나은 작업을 수행합니다. USERCONTROL- 또는 DATASET- 파생 유형이있는 어셈블리가있는 경우 양식 설계를 위해 해당 제어를 자동으로 감지하고 추가합니다. 이것은 약간 2005 년 기존 시스템보다 수동으로 컨트롤을 추가하고 때로는 잊어 버릴 수있는 기존 시스템보다 낫습니다.
그러나 레거시에서 내가 작업중 인 모 놀리 식 프로젝트 (현재 vs2008로 업그레이드 됨) 이는 내가 원하지 않고 필요하지 않은 많은 컨트롤을 의미합니다 (그리고 재 설계는 너무 많은 레거시 코드에 대해 보증되지 않을 것입니다 :(). 특정 유형을 내부 또는 비공개로 만들면 나타나지 않을 것이라고 생각합니다. 그러나 공개적으로 유지하려면 많은 사람들이 필요하지만 도구 상자에는 표시되지 않습니다. 더욱이 도구 상자에 많은 컨트롤이 추가됩니다. Winforms 디자이너를 열면 크게 느려집니다.
- 도구 상자 모양을 방지하는 속성 또는 기타 메커니즘이 있습니까 (그렇지 않으면 기능에 영향을 미치지 않음)?
- 이러한 메커니즘을 사용하여 필터링하면 성능이 향상되면서 도구 상자에 있어야하는 새로운 유형을 자동으로 설정합니까? (나는 당신이 자동 측정을 비활성화 할 수 있다는 것을 알고 있지만 많은 경우에 좋은 것이 좋습니다)
- 다른 사람들이 큰 솔루션 에서이 자극을 받았습니까 (많은 CSPROJ/VBPROJ 파일)?
편집 : 모두 감사합니다! 나는 그것이 단순해야한다는 것을 알고 있었지만 (속성 일 가능성이 높았을 것입니다) 그 차이를 메 웁니다. 내가 ToolBoxItem (false)에 대해 알지 못하는 좋은 회사에 있다는 것을 알게되어 기쁩니다.
해결책
다음 속성은 도구 상자에서 숨겨야합니다.
[ToolboxItem(false)]
표시하지 않으려는 모든 유형에 적용하면이 속성없이 작성한 새로운 유형을 여전히 표시합니다. 시작할 항목을 수동으로 제거해야 할 수도 있습니다.
이것 블로그 게시물 사용하려는 다른 속성을 보여줍니다.
다른 팁
도구 상자를 살펴보고 숨길 수있는 각 사용자 정의 컨트롤에 대해 클래스 위의 다음 속성을 추가하십시오.
ToolboxItem (false)
물론 이것은 컴파일 된 속성이며 코드를 사용하는 모든 사람에게 영향을 미치므로 드래그 드롭을 의미하지 않는 컨트롤에 대해서만이 작업을 수행하는 것이 좋습니다. 그렇지 않으면, 당신은 아마도 매우 화를내는 것을 좋아하는 사람을 만들 것입니다. :)