2010-06-02 4 views
11

폼의 같은 위치에 다른 컨트롤 집합을 사용하고 있습니다. 기본적으로 all은 visible = false이며 사용자가 콤보 상자 드롭 다운 컨트롤에서 특정 값을 선택하면 컨트롤의 특정 하위 집합이 표시되도록 설정됩니다.Visual Studio에서 겹치는 컨트롤 많이 관리하기

사용자의 관점에서 볼 때 이것은 필요한 컨트롤 만 볼 수 있기 때문에 잘 작동합니다.

그러나 컨트롤이 양식의 동일한 위치를 차지하므로 Visual Studio 디자인보기에서 컨트롤을 관리하기가 어렵습니다.

컨트롤의 전체 하위 집합을 빠르고 쉽게 선택할 수 있도록 Visual Studio에서 이러한 겹치는 컨트롤 집합을 그룹화하는 방법이 있습니까? 디자인 뷰에서 특정 컨트롤을 숨기는 방법이 있습니까? 현재 모든 것이 서로 겹치기 때문에 개발할 때 이러한 제어를 어렵게 만듭니다.

답변

9

짐승을 얻으려면 모든 그룹을 자신의 UserControl에 넣으십시오. MainForm에 이러한 모든 UserControls를 서로 위에 겹쳐 씁니다.

그래서 MainForm에서 당신은 좋은 개요를 얻을 수는 없지만, 이제 당신은 당신의 개별 디자이너가 볼 수있는 모든 그룹을 가지며, 메인 폼에서 코드 userControl.Visible = false 한 줄로 전체 그룹을 숨길 수 있습니다.

+0

내가 왜 그렇게 생각하지 않았지만 이것이 완벽하게 작동하는지 잘 모르겠다. 감사! – Dave

+0

나는 이것에 상당히 새로운 것이다. GroupBox에 대한 디자이너보기에 정확히 어떻게 가야합니까? – Bernhard

+1

@Bernhard : 아주 쉽게. 폼의 솔루션 탐색기 내에서 두 번 클릭하거나 사용자 컨트롤 Visual Studio에서 디자이너보기를 열면 기본적으로 표시됩니다. 그러나 현재 폼이나 컨트롤의 코드를보고있는 경우 코드 내의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 * 디자인보기 *를 선택할 수도 있습니다. – Oliver

0

숨길 수 없습니다.

그러나 그룹 상자 에서 그룹화하고 "Bring to front"및 "Send to back"속성 거래를 사용하여 그룹화 할 수 있습니다.

+0

은 작동하지 않습니다. 다른 하나가 겹치 자마자 다른 부분과 겹치면 부분적으로됩니다. –

4

TabControl이이를 수행 할 수 있으며, 디자인 모드에서 잘 작동합니다. 런타임에 탭을 숨기면됩니다. 내 코드를 this thread에서 확인하십시오. 당신은 같은 위치에 여러 구성 요소로 작업하는 경우 우선

+0

아 - 그거 좋은 생각이야! – Dave

+0

시나리오별로 컨트롤을 그룹화 할 수 있으므로 대부분의 경우이 아이디어가 Oliver의 대답보다 우수하다고 생각합니다. 거의 모든 경우에 적용 할 수있는 컨트롤은 시나리오/컨텍스트에 따라 다르므로이 방법을 사용하면 한 번에 몇 가지 컨트롤 만 표시하는 것이 아니라 사용자가 함께 볼 수있는 컨트롤 만 함께 볼 수 있습니다. –

-1

,

, 당신은 당신의 형태로 groupboxes를 사용할 수 있습니다. 그런 다음이 그룹 상자를 겹치게하려면 각 그룹 상자를 양식 화면의 다른 위치에서 편집해야합니다. 편집 한 후에는 그룹 상자 속성 메뉴에서 수동으로 크기 및 위치 데이터를 입력해야합니다.

설정 한 위치 후에 그룹 상자 중 하나를 편집하려면 그룹 상자 중 하나를 마우스 오른쪽 버튼으로 클릭 한 다음 "보내기"및 "가져 오기"명령을 쉽게 클릭 할 수 있습니다. 나는 그것이 도움이되기를 바랍니다.

관련 문제