ComponentOne for Winforms 가 제공하는 탐색 및 레이아웃 컨트롤을 소개합니다.

C1 Menus and Toolbars로 메뉴와 툴바 만들기

본문은 ComponentOne Menus and Toolbars™ for WinForms 컨트롤을 사용하여 어떻게 툴 바와 멀티 레벨 메뉴 및 콘텍스트 메뉴를 일시 정지/유동하는지 설명합니다.


1. 주 메뉴와 콘텍스트 메뉴 만들기


C1MainMenu 컨트롤과 C1ContextMenu컨트롤은 네비게이션과 명령에 사용되는 멀티 레이어, 멀티 메뉴를 표시할 수 있습니다. 각 메뉴마다 모두 일련의 명령 링크를 포함하며 모두 단일한 공유명령에 링크됩니다.

도구상자로부터 C1MainMenu 컨트롤과 C1ContextMenu컨트롤을 창에 드래그합니다. 그리고 컨트롤을 CommandLinks 속성을 통해 code또는Editor로 각기 다른 명령 링크CommandLink를 추가해 줍니다.

ComandLink.Command 속성을 사용하여 명령을 지정합니다. 구체적인 것은 아래의 코드를 참고하세요. :

private C1.Win.C1Command.C1CommandMenu c1CommandMenu_File = new C1.Win.C1Command.C1CommandMenu();
this.c1CommandMenu_File.Text = "파일"; 

private C1.Win.C1Command.C1CommandLink c1CommandLink1 = new C1.Win.C1Command.C1CommandLink();
this.c1CommandLink1.Command = this.c1CommandMenu_File;

private C1.Win.C1Command.C1MainMenu c1MainMenu1 = new C1.Win.C1Command.C1MainMenu();
this.c1MainMenu1.CommandLinks.AddRange(new C1.Win.C1Command.C1CommandLink[] {this.c1CommandLink1,});

2. C1ToolBar와 C1CommandDock 만들기

C1CommandDock컨트롤을 창에 드래그하여 C1Toolbar를 일시 정지하거나 작동시킵니다. 

그리고 C1ToolBar 컨트롤을 CommandDock에 드래그합니다. 이것은 툴바의 컨트롤을 표시합니다. 마치 C1MainMenu 컨트롤과 마찬가지로 일련의 명령 링크도 포함합니다. 

CommandDock은 각기 다른 여러 개의 Toolbar를 추가할 수 있습니다. 코드는 다음을 참고하세요. :

this.c1CommandDock1.Controls.Add(this.c1ToolBar_Tools);
this.c1CommandDock1.Controls.Add(this.c1ToolBar_Format);
this.c1CommandDock1.Controls.Add(this.c1ToolBar_Edit);
this.c1CommandDock1.Controls.Add(this.c1ToolBar_File);

3. C1CommandHolder 만들기

C1 CommandHolder 컨트롤 샘플 다운로드


C1CommandHolder 컨트롤을 창에 드래그합니다. 해당 컨트롤은 메뉴와 툴바의 모든 명령을 단일한 집합으로 저장할 수 있습니다. 

모든 명령은 C1CommandHolder의 Click 이벤트를 시작시킬 수 있습니다. 또한 여러 개의 메뉴와 툴 바 사이에 공유명령을 허용합니다. MainMenu, Toolbar 등의 컨트롤을 추가 할 때, C1CommandHolder 모듈로 자동 관리하고 진행할 수 있습니다.


C1CommandHolder에 Click 이벤트를 걸고 상응하는 명령을 클릭하면 Click이벤트가 일어납니다. 코드는 다음의 표시와 같습니다. :

private void c1CommandHolder1_CommandClick(object sender, CommandClickEventArgs e)
{
	//c1command click event
	label1.Text = "실행 " + e.Command.Text + " 조작";
 }

본문의 Demo 소스코드는 다음과 같습니다. :

아래 링크를 통해 좀 더 자세한 사항을 확인해보실 수 있습니다.

C1 CommandHolder 컨트롤 샘플 다운로드