다음을 통해 공유


연습: 사용자 컨텍스트에 따라 작업 창 변경

업데이트: 2007년 11월

적용 대상

이 항목의 정보는 지정된 Visual Studio Tools for Office 프로젝트 및 Microsoft Office 버전에만 적용됩니다.

프로젝트 형식

  • 문서 수준 프로젝트

Microsoft Office 버전

  • Word 2007

  • Word 2003

자세한 내용은 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

이 연습에서는 XMLNode 이벤트에 응답하는 방법을 보여 줍니다. 사용자가 문서에서 커서를 이동하면 작업 창의 컨트롤이 숨겨지거나 표시됩니다.

이 연습에서는 다음 작업을 수행합니다.

  • 작업 창에 컨트롤 추가

  • 응용 프로그램을 열 때 작업 창 표시

  • XML 노드의 사용자 작업을 기반으로 작업 창에서 컨트롤 숨기기 및 표시

참고:

다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.

사전 요구 사항

이 연습을 완료하려면 다음 구성 요소가 필요합니다.

  • Visual Studio Tools for Office(Visual Studio 2008 Professional 및 Visual Studio Team System의 선택적 구성 요소)

  • Microsoft Office Word 2003

참고:

Word 2007을 사용하여 이 연습을 수행할 수도 있습니다. 그러나 몇몇 단계에서는 Word 2003의 메뉴를 사용하는 것으로 가정합니다.

Visual Studio Tools for Office는 기본적으로 나열된 Visual Studio 버전과 함께 설치됩니다. 설치 여부를 확인하려면 Visual Studio Tools for Office 설치를 참조하십시오.

프로젝트 만들기

첫 번째 단계에서는 Word 문서 프로젝트를 만듭니다.

새 프로젝트를 만들려면

  • 이름이 My Dynamic Actions Pane인 Word 문서 프로젝트를 만듭니다. 마법사에서 새 문서 만들기를 선택합니다. 자세한 내용은 방법: Visual Studio Tools for Office 프로젝트 만들기를 참조하십시오.

    Visual Studio의 디자이너에 새 Word 문서가 열리고 My Dynamic Actions Pane 프로젝트가 솔루션 탐색기에 추가됩니다.

문서에 매핑할 스키마 만들기

XML 노드를 만들려면 XML 스키마의 요소를 문서로 끌어 옵니다. 먼저 스키마 파일을 만들고 스키마에 해당하는 문서를 만든 다음 이 문서에 요소를 매핑합니다.

XML 스키마를 만들려면

  1. 솔루션 탐색기에서 My Dynamic Actions Pane 프로젝트를 선택합니다.

  2. 프로젝트 메뉴에서 새 항목 추가를 클릭합니다.

    새 항목 추가 대화 상자가 나타납니다.

  3. 템플릿 창에서 XML 스키마를 선택합니다.

  4. 스키마 이름을 ActionsPaneSample.xsd로 지정하고 추가를 클릭합니다.

  5. 솔루션 탐색기에서 ActionsPaneSample.xsd를 마우스 오른쪽 단추로 클릭하고 연결 프로그램을 클릭합니다.

  6. 연결 프로그램 대화 상자에서 XML 편집기를 선택하고 확인을 클릭합니다.

  7. XML 편집기의 텍스트를 다음 텍스트로 바꿉니다.

    <?xml version="1.0" encoding="utf-8" ?>
    <xs:schema targetNamespace="https://schemas.microsoft.com/vsto/samples" elementFormDefault="qualified"
        xmlns="https://schemas.microsoft.com/vsto/samples"
        xmlns:mstns="https://schemas.microsoft.com/vsto/samples"
        xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="Sample" type="SampleType"></xs:element>
      <xs:complexType name="SampleType">
        <xs:all>
          <xs:element name="Insert" type="InsertType" minOccurs="0" maxOccurs="1" />
          <xs:element name="Table" type="xs:string" minOccurs="0" maxOccurs="1" />
        </xs:all>
      </xs:complexType>
      <xs:complexType name="InsertType">
        <xs:sequence>
          <xs:element name="MemoTo" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="MemoFrom" type="xs:string" minOccurs="1" maxOccurs="1"/>
          <xs:element name="MemoSubject" type="xs:string" minOccurs="1" maxOccurs="1"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
    
  8. 프로젝트를 저장합니다.

문서에 텍스트 및 XML 추가

이 연습의 문서는 메모 형식입니다. 문서에 텍스트를 추가하고 XML 요소를 문서의 위치에 매핑합니다.

문서에 텍스트를 추가하려면

  1. 솔루션 탐색기에서 ThisDocument.cs 또는 ThisDocument.vb를 마우스 오른쪽 단추로 클릭하고 뷰 디자이너를 클릭합니다.

  2. 다음 텍스트를 Word 문서에 추가합니다.

    메모

    받는 사람:

    보낸 사람:

    제목:

    요청하신 정보가 아래 표에 있습니다.

    이름

    주소

    도시

    우편 번호

    Nancy Davolio

    507 - 20th Ave. E., Apt. 2A

    Seattle

    WA

    98122

그런 다음 XML 요소를 메모의 텍스트에 매핑합니다. 매핑하는 각 XML 요소에 대해 XMLNode 컨트롤이 작성됩니다. XMLNode 컨트롤에는 부모 요소와 자식 요소의 이름에 Node라는 단어를 추가한 이름이 지정됩니다. 예를 들어 위 스키마에서 Insert 요소를 매핑하면 SampleInsertNode라는 이름이 지정됩니다. 컨트롤에 대한 자세한 내용은 호스트 항목 및 호스트 컨트롤 개요를 참조하십시오.

문서에 스키마를 연결하려면

  1. 템플릿 및 추가 기능 대화 상자를 엽니다. Word 2007에서는 다음을 수행합니다.

    1. 리본 메뉴에서 개발 도구 탭을 클릭합니다.

      참고:

      개발 도구 탭이 표시되지 않으면 먼저 이 탭을 표시해야 합니다. 자세한 내용은 방법: 리본 메뉴에 개발 도구 탭 표시를 참조하십시오.

    2. XML 그룹에서 스키마를 클릭합니다.

      서식 파일 및 추가 기능 대화 상자가 열립니다.

    Word 2003에서 템플릿 및 추가 기능 대화 상자를 열려면 다음을 수행합니다.

    1. 도구 메뉴에서 Microsoft Office Word 도구를 가리킨 다음 서식 파일 및 추가 기능을 클릭합니다.

      서식 파일 및 추가 기능 대화 상자가 열립니다.

      참고:

      도구 메뉴에서 Microsoft Office Word 도구 명령을 사용할 수 없으면 문서를 클릭하여 포커스를 이동합니다. 자세한 내용은 Visual Studio 환경의 Office 메뉴를 참조하십시오.

  2. 서식 파일 및 추가 기능 대화 상자에서 XML 스키마 탭을 클릭하고 스키마 추가를 클릭합니다.

  3. 프로젝트 디렉터리에서 이전에 만든 ActionsPaneSample.xsd 스키마를 찾은 다음 열기를 클릭합니다.

  4. 스키마 설정 대화 상자에서 확인을 클릭합니다.

  5. 확인을 클릭하여 서식 파일 및 추가 기능 대화 상자를 닫습니다.

    XML 구조 작업 창이 열립니다.

문서에 XML 요소를 매핑하려면

  1. XML 구조 작업 창에서 Sample 요소를 클릭합니다.

  2. 관련 메시지가 나타나면 전체 문서에 적용을 클릭합니다.

  3. 받는 사람, 보낸 사람 및 제목 텍스트가 있는 세 줄을 선택하고 XML 구조 작업 창에서 Insert 요소를 클릭합니다.

  4. 커서를 받는 사람: 다음에 놓고 Tab 키를 두 번 누른 다음 MemoTo 요소를 클릭하여 삽입합니다.

  5. 커서를 보낸 사람: 다음에 놓고 Tab 키를 두 번 누른 다음 MemoFrom 요소를 클릭합니다.

  6. 커서를 제목: 다음에 놓고 Tab 키를 한 번 누른 다음 MemoSubject 요소를 클릭합니다.

  7. 테이블을 선택하여 전체 테이블을 강조 표시한 다음 Table 요소를 클릭하여 적용합니다.

    XML 태그가 테이블 셀 안에 나타납니다.

  8. 문서에 XML 태그 표시 확인란을 선택 해제합니다.

  9. XML 구조 작업 창의 아래쪽에 있는 XML 옵션을 클릭합니다.

  10. 혼합된 내용 무시 확인란을 선택하고 확인을 클릭합니다.

  11. XML 구조 작업 창을 닫습니다.

작업 창에 컨트롤 추가

작업 창에서 컨트롤의 레이아웃을 디자인하려면 기본적으로 사용자 정의 컨트롤과 동일한 작업 창 컨트롤이라는 컨트롤의 디자이너를 사용합니다. 단추 및 텍스트 상자와 같은 다른 컨트롤을 작업 창 컨트롤로 끌고 정렬할 수 있습니다. 사용자 컨텍스트에 따라 작업 창을 변경하려면 각 컨텍스트에 대해 작업 창 컨트롤을 추가 및 디자인하고 해당 컨트롤을 적절하게 표시하거나 숨깁니다.

이 연습에서는 세 개의 작업 창 컨트롤을 사용합니다. 첫 번째 작업 창 컨트롤에는 데이터를 입력하고 이를 문서에 추가할 수 있도록 텍스트 상자 세 개와 단추 하나가 포함됩니다. 두 번째 작업 창 컨트롤에는 표 속성 대화 상자를 여는 단추 하나가 포함됩니다. 세 번째 작업 창 컨트롤에는 문서에서 커서의 현재 위치와 상관없이 작업 창의 모든 컨트롤을 표시하는 확인란이 포함됩니다.

작업 창 컨트롤을 추가하려면

  1. 솔루션 탐색기에서 My Dynamic Actions Pane 프로젝트를 선택합니다.

  2. 프로젝트 메뉴에서 새 항목 추가를 클릭합니다.

  3. 새 항목 추가 대화 상자에서 작업 창 컨트롤을 선택하고 이름을 AddTextControl로 지정한 다음 추가를 클릭합니다.

  4. 작업 창 컨트롤의 크기 속성을 170, 135로 변경합니다.

첫 번째 작업 창 컨트롤에 Windows Forms 컨트롤을 추가하려면

  1. 도구 상자Windows Forms 탭에서 Label 컨트롤을 AddTextControl에 끌어 놓은 다음 텍스트 속성을 To:로 변경합니다.

  2. Textbox 컨트롤을 AddTextControl에 추가하고 다음 속성을 변경합니다.

    속성

    Name

    toBox

    Size

    110, 20

  3. 두 번째 Label 컨트롤을 AddTextControl에 추가하고 텍스트 속성을 보낸 사람:으로 변경합니다.

  4. 두 번째 Textbox 컨트롤을 AddTextControl에 추가하고 다음 속성을 변경합니다.

    속성

    Name

    fromBox

    Size

    110, 20

  5. 세 번째 Label 컨트롤을 이전 텍스트 상자 아래의 AddTextControl에 추가하고 Text 속성을 제목:으로 변경합니다.

  6. 세 번째 Textbox 컨트롤을 이전 레이블 옆의 AddTextControl에 추가하고 다음 속성을 변경합니다.

    속성

    Name

    subjectBox

    Multiline

    True

    Size

    110, 40

  7. 여러 줄을 입력할 수 있도록 subjectBox 텍스트 상자의 크기를 조정합니다.

  8. Button 컨트롤을 AddTextControl에 추가하고 다음 속성을 변경합니다.

    속성

    Name

    insertText

    Text

    Insert

두 번째 작업 창 컨트롤을 만들려면

  1. 두 번째 작업 창 컨트롤을 프로젝트에 추가하고 이름을 ShowPropertiesControl로 지정합니다.

  2. 작업 창 컨트롤의 Size 속성을 170, 50으로 변경합니다.

  3. 도구 상자Windows Forms 탭에서 Button 컨트롤을 ShowPropertiesControl에 끌어 놓고 다음 속성을 변경합니다.

    속성

    Name

    tableProperties

    Text

    Table Properties

    Enabled

    False

    Size

    100, 23

  4. C#의 경우 단추의 Modifiers 속성을 Internal로 변경합니다.

세 번째 작업 창 컨트롤을 만들려면

  1. 세 번째 작업 창 컨트롤을 프로젝트에 추가하고 이름을 ShowAllControl로 지정합니다.

  2. 작업 창 컨트롤의 Size 속성을 170, 75로 변경합니다.

  3. 도구 상자Windows Forms 탭에서 GroupBox 컨트롤을 ShowAllControl에 추가하고 Text 속성을 내 작업 창으로 변경합니다.

  4. CheckBox 컨트롤을 그룹 상자 위쪽의 ShowAllControl에 추가하고 다음 속성을 변경합니다.

    속성

    Name

    showCheck

    Text

    Show All Controls

  5. C#의 경우 확인란의 Modifiers 속성을 Internal로 변경합니다.

사용자 컨텍스트에 응답하는 코드 추가

이제 작업 창을 표시하고 문서의 커서 위치에 따라 작업 창 컨트롤을 추가 및 제거하는 코드를 작성할 수 있습니다. 이 코드는 XMLNode 컨트롤의 이벤트 처리기에 포함합니다.

XMLNode 컨트롤 이벤트에 코드를 추가하려면

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

  2. ThisDocument의 선언 섹션에서 각 작업 창 컨트롤에 대한 변수 참조를 만듭니다.

    Dim addText As New AddTextControl
    Dim showProperties As New ShowPropertiesControl
    Dim showAll As New ShowAllControl
    
    Friend WithEvents showCheck As System.Windows.Forms.CheckBox
    
    private AddTextControl addText = new AddTextControl();
    private ShowPropertiesControl showProperties = new ShowPropertiesControl();
    private ShowAllControl showAll = new ShowAllControl();
    
  3. ThisDocument의 Startup 이벤트 처리기에서 ShowAllControl 컨트롤을 추가하고 작업 창을 표시하는 다음 코드를 작성합니다.

    Me.ActionsPane.Controls.Add(showAll)
    showCheck = showAll.showCheck
    
    this.ActionsPane.Controls.Add(showAll);
    
    참고:

    작업 창에 컨트롤을 추가하는 순서에 따라 컨트롤의 배치가 결정됩니다. 항상 작업 창의 맨 위에 표시해야 하는 컨트롤은 가장 먼저 추가해야 합니다. 이 순서는 작업 창의 StackOrder 속성에도 영향을 받습니다. 자세한 내용은 방법: 작업 창에서 컨트롤 레이아웃 관리를 참조하십시오.

  4. SampleInsertNode 컨트롤의 ContextEnter 이벤트 처리기에 다음 코드를 추가합니다.

    Private Sub SampleInsertNode_ContextEnter(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ContextChangeEventArgs) _
        Handles SampleInsertNode.ContextEnter
    
        If showAll.showCheck.Checked = False Then
            Me.ActionsPane.Controls.Add(addText)
            Me.ActionsPane.Controls.Remove(showProperties)
        End If
    End Sub
    
    private void SampleInsertNode_ContextEnter(object sender, 
        Microsoft.Office.Tools.Word.ContextChangeEventArgs e)
    {
        if (showAll.showCheck.Checked == false)
        {
            this.ActionsPane.Controls.Add(addText);
            this.ActionsPane.Controls.Remove(showProperties);
        }
    }
    
  5. 사용자가 이 XML 노드 밖으로 커서를 움직이면 컨트롤을 숨기기 위한 다음 코드를 SampleInsertNode 컨트롤의 ContextLeave 이벤트 처리기에 추가합니다.

    Private Sub SampleInsertNode_ContextLeave(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ContextChangeEventArgs) _
        Handles SampleInsertNode.ContextLeave
    
        If showAll.showCheck.Checked = False Then
            Me.ActionsPane.Controls.Remove(addText)
        End If
    End Sub
    
    private void SampleInsertNode_ContextLeave(object sender,
        Microsoft.Office.Tools.Word.ContextChangeEventArgs e)
    {
        if (showAll.showCheck.Checked == false)
        {
            this.ActionsPane.Controls.Remove(addText);
        }
    }
    
  6. SampleTableNode 컨트롤의 ContextEnter 이벤트 처리기에 다음 코드를 추가합니다.

    Private Sub SampleTableNode_ContextEnter(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ContextChangeEventArgs) _
        Handles SampleTableNode.ContextEnter
    
        If showAll.showCheck.Checked = False Then
            Me.ActionsPane.Controls.Remove(addText)
            Me.ActionsPane.Controls.Add(showProperties)
        End If
    
        showProperties.tableProperties.Enabled = True
    End Sub
    
    private void SampleTableNode_ContextEnter(object sender,
        Microsoft.Office.Tools.Word.ContextChangeEventArgs e)
    {
        if (showAll.showCheck.Checked == false)
        {
            this.ActionsPane.Controls.Remove(addText);
            this.ActionsPane.Controls.Add(showProperties);
        }
        showProperties.tableProperties.Enabled = true;
    }
    
  7. 사용자가 이 XML 노드 밖으로 커서를 움직이면 컨트롤을 숨기기 위한 다음 코드를 SampleTableNode 컨트롤의 ContextLeave 이벤트 처리기에 추가합니다.

    Private Sub SampleTableNode_ContextLeave(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ContextChangeEventArgs) _
        Handles SampleTableNode.ContextLeave
    
        If showAll.showCheck.Checked = False Then
            Me.ActionsPane.Controls.Remove(showProperties)
        End If
    
        showProperties.tableProperties.Enabled = False
    End Sub
    
    private void SampleTableNode_ContextLeave(object sender,
        Microsoft.Office.Tools.Word.ContextChangeEventArgs e)
    {
        if (showAll.showCheck.Checked == false)
        {
            this.ActionsPane.Controls.Remove(showProperties);
        }
        showProperties.tableProperties.Enabled = false;
    }
    
  8. C#의 경우 XMLNode 컨트롤에 대한 이벤트 처리기를 추가해야 합니다. ThisDocument의 Startup 이벤트 처리기에 이 코드를 넣을 수 있습니다. 이벤트 처리기를 만드는 방법에 대한 자세한 내용은 방법: Visual Studio Tools for Office에서 이벤트 처리기 만들기를 참조하십시오.

    this.SampleInsertNode.ContextEnter += new Microsoft.Office.Tools.Word.
        ContextChangeEventHandler(SampleInsertNode_ContextEnter);
    
    this.SampleInsertNode.ContextLeave += new Microsoft.Office.Tools.Word.
        ContextChangeEventHandler(SampleInsertNode_ContextLeave);
    
    this.SampleTableNode.ContextEnter += new Microsoft.Office.Tools.Word.
        ContextChangeEventHandler(SampleTableNode_ContextEnter);
    
    this.SampleTableNode.ContextLeave += new Microsoft.Office.Tools.Word.
        ContextChangeEventHandler(SampleTableNode_ContextLeave);
    

검사점

프로젝트를 저장하고 문서에서 커서 위치를 옮길 때 작업 창 컨트롤이 변경되는지 확인합니다.

프로젝트를 테스트하려면

  1. F5 키를 눌러 프로젝트를 실행합니다.

  2. 삽입 지점을 받는 사람라는 단어로 옮기고 작업 창에 addText 작업 창 컨트롤이 표시되는지 확인합니다.

  3. 삽입 지점을 테이블 안으로 옮기고 작업 창에 showProperties 작업 창 컨트롤이 표시되는지 확인합니다.

  4. 삽입 지점을 메모라는 단어로 옮기고 작업 창에서 addText 및 showProperties 작업 창 컨트롤이 모두 표시되지 않는지 확인합니다.

작업 창의 컨트롤 이벤트에 응답하는 코드 추가

지금까지 작업 창의 컨트롤은 아무런 작업도 수행하지 않습니다. 마지막 단계에서는 모든 컨트롤을 표시하고 텍스트를 삽입하고 테이블 속성 대화 상자를 표시하는 코드를 작성합니다.

작업 창에 모든 컨트롤을 표시하려면

  1. 다음 코드를 ThisDocument에 추가합니다.

    Private Sub showCheck_CheckStateChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles showCheck.CheckStateChanged
    
        If showAll.showCheck.Checked = True Then
            Me.ActionsPane.Controls.Add(addText)
            Me.ActionsPane.Controls.Add(showProperties)
        Else
            Me.ActionsPane.Controls.Remove(addText)
            Me.ActionsPane.Controls.Remove(showProperties)
        End If
    End Sub
    
    private void showCheck_CheckStateChanged(object sender, EventArgs e)
    {
        if (showAll.showCheck.Checked)
        {
            this.ActionsPane.Controls.Add(addText);
            this.ActionsPane.Controls.Add(showProperties);
        }
        else
        {
            this.ActionsPane.Controls.Remove(addText);
            this.ActionsPane.Controls.Remove(showProperties);
        }
    }
    
  2. C#의 경우 checkbox 컨트롤에 대한 이벤트 처리기를 추가해야 합니다. ThisDocument의 Startup 이벤트 처리기에 이 코드를 넣을 수 있습니다.

    showAll.showCheck.CheckStateChanged += new EventHandler(showCheck_CheckStateChanged);
    

삽입 단추를 클릭한 경우 텍스트를 삽입하려면

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

  2. insertText 단추의 Click 이벤트 처리기에서 다음 코드를 작성합니다.

    Private Sub insertText_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles insertText.Click
    
        With Globals.ThisDocument
            .InsertMemoFromNode.Text = Me.fromBox.Text
            .InsertMemoToNode.Text = Me.toBox.Text
            .InsertMemoSubjectNode.Text = Me.subjectBox.Text
        End With
    
        ' Clear the text boxes.
        Me.fromBox.Text = ""
        Me.toBox.Text = ""
        Me.subjectBox.Text = ""
    End Sub
    
    private void insertText_Click(object sender, System.EventArgs e)
    {
        Globals.ThisDocument.InsertMemoFromNode.Text = this.fromBox.Text;
        Globals.ThisDocument.InsertMemoToNode.Text = this.toBox.Text;
        Globals.ThisDocument.InsertMemoSubjectNode.Text = this.subjectBox.Text;
    
        // Clear the text boxes.
        this.fromBox.Text = "";
        this.toBox.Text = "";
        this.subjectBox.Text = "";
    }
    
  3. C#의 경우 단추에 대한 이벤트 처리기를 추가해야 합니다. 이 코드를 AddTextControl 생성자에서 InitializeComponent에 대한 호출 밑에 배치할 수 있습니다.

    public AddTextControl()
    {
        InitializeComponent();
        this.insertText.Click += new System.EventHandler(this.insertText_Click);
    }
    

Table Properties 대화 상자를 표시하려면

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

  2. tableProperties 단추의 Click 이벤트 처리기에 다음 코드를 추가합니다.

    Private Sub tableProperties_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles tableProperties.Click
    
        Globals.ThisDocument.Application.Dialogs( _
            Word.WdWordDialog.wdDialogTableProperties).Show()
    End Sub
    
    private void tableProperties_Click(object sender, System.EventArgs e)
    {
        object timeout = 0;
    
        Globals.ThisDocument.Application.Dialogs[
            Microsoft.Office.Interop.Word.WdWordDialog.wdDialogTableProperties]
                .Show(ref timeout);
    }
    
  3. C#의 경우 단추에 대한 이벤트 처리기를 추가해야 합니다. 이 코드를 ShowPropertiesControl 생성자에서 InitializeComponent에 대한 호출 밑에 배치할 수 있습니다.

    public ShowPropertiesControl()
    {
        InitializeComponent();
        this.tableProperties.Click += new System.EventHandler(this.tableProperties_Click);
    }
    

응용 프로그램 테스트

이제 문서를 더 자세히 테스트하여 작업 창 컨트롤의 기능을 확인할 수 있습니다.

문서를 테스트하려면

  1. F5 키를 눌러 프로젝트를 실행합니다.

  2. 작업 창이 표시되는지 확인합니다.

  3. To, FromSubject 줄이 포함된 문서 섹션으로 커서를 옮긴 다음 작업 창에 addText 컨트롤이 나타나는지 확인합니다.

  4. 작업 창의 To, FromSubject 텍스트 상자에 텍스트를 입력하고 Insert를 클릭합니다.

  5. 커서를 테이블로 옮기고 작업 창에 showProperties 컨트롤이 나타나는지 확인합니다.

  6. Table Properties 단추를 클릭하고 Table Properties 대화 상자가 열리는지 확인합니다.

  7. 모두 표시 확인란을 클릭하고 작업 창에 모든 컨트롤이 표시되는지 확인합니다.

  8. 커서를 테이블 바깥으로 옮기고 Table Properties 단추가 비활성화되는지 확인합니다.

다음 단계

이 연습에서는 사용자 컨텍스트를 기반으로 작업 창을 변경하는 기본적인 방법을 보여 줍니다. 이후에 수행할 수 있는 작업은 다음과 같습니다.

참고 항목

작업

방법: Word 문서에 작업 창 추가

방법: Excel 통합 문서에 작업 창 추가

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

개념

작업 창 개요

XMLNodes 컨트롤