다음을 통해 공유


작업창에서 컨트롤 레이아웃 관리

작업 창은 기본적으로 문서 또는 워크시트의 오른쪽에 고정되어 있습니다. 그러나 왼쪽, 위쪽 또는 아래쪽에 도킹할 수 있습니다. 여러 개의 사용자 컨트롤을 사용하는 경우 작업 창에서 사용자 컨트롤을 제대로 쌓는 코드를 작성할 수 있습니다. 자세한 내용은 작업 창 개요를 참조하세요.

적용 대상: 이 항목의 정보는 Excel 및 Word의 문서 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 애플리케이션 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하세요.

컨트롤의 스택 순서는 작업 창이 세로 또는 가로로 도킹되는지 여부에 따라 달라집니다.

참고 항목

사용자가 런타임에 작업 창의 크기를 조정하는 경우 작업 창과 함께 크기가 조정되도록 컨트롤을 설정할 수 있습니다. Windows Forms 컨트롤의 Anchor 속성을 사용하여 작업 창에 컨트롤을 고정할 수 있습니다. 자세한 내용은 방법: Windows Forms에서 컨트롤 고정을 참조하세요.

참고 항목

일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio IDE 개인 설정을 참조하세요.

작업 창 컨트롤의 스택 순서를 설정하려면

  1. 여러 사용자 컨트롤 또는 중첩된 작업 창 컨트롤이 있는 작업 창을 포함하는 Microsoft Office Word용 문서 수준 프로젝트를 엽니다. 자세한 내용은 방법: Word 문서 또는 Excel 통합 문서에 작업 창 추가를 참조하세요.

  2. 솔루션 탐색기에서 ThisDocument.cs 또는 ThisDocument.vb를 마우스 오른쪽 단추로 클릭한 다음, 코드 보기를 클릭합니다.

  3. 작업 창의 OrientationChanged 이벤트 처리기에서 작업 창의 방향이 가로인지 확인합니다.

    private void ActionsPane_OrientationChanged(object sender, EventArgs e)
    {
        if (ActionsPane.Orientation == Orientation.Horizontal)
        {
    
  4. 방향이 가로이면 왼쪽에서 작업 창 컨트롤을 스택합니다. 그렇지 않으면 위쪽에서 스택합니다.

            this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft;
        }
        else
        {
            this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
        }
    }
    
  5. C#에서는 ActionsPane에 대한 이벤트 처리기를 Startup 이벤트에 추가해야 합니다. 이벤트 처리기를 만드는 방법에 대한 내용은 방법: Office 프로젝트에서 이벤트 처리기 만들기를 참조하세요.

    private void ThisDocument_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.OrientationChanged += new EventHandler(ActionsPane_OrientationChanged);
    }
    
  6. 프로젝트를 실행하고 작업창이 문서 상단에 도킹될 때 작업 창 컨트롤이 왼쪽에서 오른쪽으로 스택되어 있는지 확인하고, 작업 창이 문서의 오른쪽에 도킹되어 있을 때 컨트롤이 위에서 아래로 스택되어 있는지 확인합니다.

예시

private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    this.ActionsPane.OrientationChanged += new EventHandler(ActionsPane_OrientationChanged);
}

private void ActionsPane_OrientationChanged(object sender, EventArgs e)
{
    if (ActionsPane.Orientation == Orientation.Horizontal)
    {
        this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromLeft;
    }
    else
    {
        this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
    }
}

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

  • 여러 사용자 컨트롤 또는 중첩된 작업 창 컨트롤이 포함된 작업 창이 있는 Word 문서 수준 프로젝트입니다.