다음을 통해 공유


Office 문서의 Windows Forms 컨트롤 개요

Windows Forms 컨트롤은 사용자가 데이터를 입력하거나 조작하기 위해 상호 작용할 수 있는 개체입니다.Microsoft Office Excel 및 Microsoft Office Word용 문서 수준 프로젝트에서는 디자인 타임에 프로젝트의 문서 또는 통합 문서에 Windows Forms 컨트롤을 추가하거나 런타임에 프로그래밍 방식으로 이러한 컨트롤을 추가할 수 있습니다.런타임에 Excel 또는 Word용 응용 프로그램 수준 추가 기능에서 열려 있는 문서 또는 워크시트에 이러한 컨트롤을 프로그래밍 방식으로 추가할 수 있습니다.

자세한 내용은 방법: Office 문서에 Windows Forms 컨트롤 추가을 참조하십시오.

적용 대상: 이 항목의 정보는 Excel 2013 및 Excel 2010, Word 2013 및 Word 2010의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

Windows Forms 컨트롤 사용

문서와 작업 창(Actions Pane), 사용자 지정 작업 창(Task Pane), Windows Forms 등의 사용자 지정 가능한 UI(사용자 인터페이스) 요소에 Windows Forms 컨트롤을 추가할 수 있습니다.문서에 배치되는 Windows Forms 컨트롤은 일반적으로 이러한 기타 UI 요소에서와 동일하게 작동하지만 몇 가지 차이는 있습니다.자세한 내용은 Office 문서에서 Windows Forms 컨트롤에 대한 제한 사항을 참조하십시오.

Windows Forms 컨트롤을 문서에 추가할지 기타 UI 요소에 추가할지를 결정하는 데는 여러 가지 사항을 고려해야 합니다.솔루션의 UI를 디자인할 때는 다음 표에서와 같이 Windows Forms 컨트롤을 사용하는 것이 좋습니다.

  • 문서에 추가하는 경우

    • 항상 컨트롤을 표시하려는 경우

    • 사용자가 편집 화면이 잠겨 있는 양식 기반 문서와 같은 문서에서 직접 데이터를 입력하도록 하려는 경우

    • 문서에서 컨트롤과 데이터를 정렬하여 표시하려는 경우.예를 들어, 목록 개체의 각 행에 단추를 추가하려는 경우 각 단추를 목록 항목과 같은 줄에 배치합니다.

  • 작업 창(Actions Pane) 또는 사용자 지정 작업 창(Task Pane)에 추가하는 경우

    • 사용자에게 상황에 맞는 정보를 제공하려는 경우

    • 쿼리 컨트롤과 데이터는 제외하고 결과만 문서에 표시하려는 경우

    • 컨트롤이 문서와 함께 인쇄되지 않도록 하려는 경우

    • 컨트롤이 문서를 보는 데 방해가 되지 않도록 하려는 경우

  • Windows Form에 추가하는 경우

    • UI의 크기를 제어하려는 경우

    • 사용자가 컨트롤을 숨기거나 삭제하지 못하도록 방지하려는 경우

    • 사용자의 입력을 가져오며, 입력을 받을 때까지 사용자가 문서에서 아무런 작업도 수행할 수 없도록 하려는 경우

프로그래밍 방식으로 Windows Forms 컨트롤 추가

런타임에 Windows Forms 컨트롤을 Word 문서 및 Excel 워크시트에 추가할 수 있습니다.Microsoft Visual Studio Tools for Office Runtime에서는 대부분의 Windows Forms 컨트롤을 추가하기 위한 도우미 메서드를 제공합니다.이러한 도우미 메서드를 사용하면 Office 문서에 컨트롤을 빠르게 추가할 수 있고 이러한 컨트롤의 결합된 Windows Forms 컨트롤 기능 및 Office 관련 기능에 액세스할 수 있습니다.

자세한 내용은 런타임에 Office 문서에 컨트롤 추가을 참조하십시오.

문서 수준 프로젝트에서 Windows Forms 컨트롤 사용

문서에 Windows Forms 컨트롤을 사용할 때의 몇 가지 특징은 문서 수준 프로젝트에만 해당되므로 Visual Studio 디자이너를 사용하여 문서의 UI를 디자인할 수 있습니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gif사용자 지정 사용자 정의 컨트롤 만들기

사용자 정의 컨트롤을 프로젝트에 추가한 다음 이를 도구 상자에 추가할 수 있습니다.그런 다음 Windows Forms 컨트롤을 문서에 추가할 때와 동일한 방식으로 사용자 정의 컨트롤을 문서에 직접 끌어 놓을 수 있습니다.사용자 정의 컨트롤을 만들 때는 다음 몇 가지 사항에 주의해야 합니다.

  • sealed 사용자 정의 컨트롤을 만들지 마십시오.컨트롤을 문서에 끌어 놓으면 Visual Studio에서는 사용자 정의 컨트롤에서 파생된 래퍼 클래스를 생성하여 해당 클래스를 확장하고 문서에 사용할 수 있도록 합니다.사용자 정의 컨트롤이 sealed인 경우 Visual Studio에서는 래퍼 클래스를 생성할 수 없습니다.

  • 사용자 정의 컨트롤의 ComVisibleAttribute 특성이 true로 설정되어 있어야 합니다.Office 프로젝트 내에서 만든 사용자 정의 컨트롤의 경우 이 특성이 기본적으로 true로 설정되어 있지만 프로젝트의 외부에서 만든 사용자 정의 컨트롤은 이 특성이 true로 설정되어 있지 않을 수 있습니다.

  • 사용자 정의 컨트롤을 문서에 추가한 후에는 프로젝트에서 UserControl 클래스를 삭제하거나 이름을 변경하지 말아야 합니다.사용자 정의 컨트롤의 이름을 변경해야 하는 경우 먼저 문서에서 컨트롤을 삭제한 다음 이름을 변경하고 다시 추가해야 합니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gif디자인 타임에 컨트롤 정렬

디자인 타임에 Word 및 Excel 문서에 여러 개의 컨트롤을 추가할 경우 Visual Studio에서 Microsoft Office WordMicrosoft Office Excel 도구 모음을 사용하여 선택한 모든 컨트롤의 맞춤 방식을 빠르게 설정할 수 있습니다.이러한 도구 모음은 문서나 워크시트가 디자이너에서 열려 있는 경우에만 사용할 수 있습니다.

디자이너에서 여러 개의 컨트롤을 선택할 경우 이러한 도구 모음에 있는 다음 단추를 사용하여 컨트롤을 정렬할 수 있습니다.

  • 왼쪽 맞춤

  • 가운데 맞춤

  • 오른쪽 맞춤

  • 위쪽 맞춤

  • 중간 맞춤

  • 아래쪽 맞춤

  • 가로 간격 같게

  • 세로 간격 같게

[!참고]

Word 프로젝트에서 이러한 단추는 선택한 컨트롤이 텍스트 줄 안에 있지 않은 경우에만 사용할 수 있습니다.기본적으로 디자인 타임에 문서에 추가하는 컨트롤은 텍스트 줄 안에 있습니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gif로드하는 동안 이전 데이터가 Excel 통합 문서에 표시되지 않도록 설정

디자인 타임에 문서나 워크시트에 Windows Forms 컨트롤을 추가하면 해당 컨트롤은 사용자가 문서를 닫아도 문서에 유지됩니다.디자인 타임에 추가된 컨트롤은 정적 컨트롤이라고도 합니다.

정적 컨트롤이 포함된 Excel 통합 문서를 열면 사용자 지정 코드가 실행되어 실제 컨트롤이 로드될 때까지 통합 문서의 ActiveX 컨트롤에 컨트롤의 비트맵이 표시됩니다.Excel에서는 통합 문서를 저장할 때마다 이 비트맵을 만들어 통합 문서에 저장합니다.비트맵은 컨트롤이 표시하던 데이터를 포함하여 통합 문서를 마지막으로 저장했을 때 나타난 대로 컨트롤을 보여 줍니다.Windows Forms 컨트롤 및 비트맵을 포함하는 ActiveX 컨트롤에 대한 자세한 내용은 Office 문서에서 Windows Forms 컨트롤에 대한 제한 사항을 참조하십시오.

디자인 모드에서 통합 문서를 열 때와 같은 특정 조건에서는 코드가 로드되지 않고 비트맵만 표시됩니다.또한 Microsoft Visual Studio Tools for Office Runtime이 설치되어 있지 않은 컴퓨터에서 통합 문서를 여는 경우 컨트롤을 로드하는 사용자 지정이 실행되지 않으므로 컨트롤의 비트맵만 표시됩니다.개인 정보가 실수로 노출되지 않도록 하려면 통합 문서를 저장하고 다른 사용자에게 보내기 전에 항상 통합 문서의 컨트롤에서 개인 정보를 제거해야 합니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gif컨트롤 크기와 셀 크기 Excel 워크시트의 일치

부모 셀의 크기가 변경되면 컨트롤의 크기가 자동으로 조정되도록 설정할 수 있습니다.자세한 내용은 방법: 워크시트 셀에서 컨트롤 크기 조정을 참조하십시오.

0x6hstz2.collapse_all(ko-kr,VS.110).gif모든 워크시트에서 공유하는 구성 요소 추가

DataSet와 같이 모든 워크시트에서 공유할 구성 요소는 워크시트 대신 통합 문서 디자이너에 추가할 수 있습니다.이 구성 요소는 구성 요소 트레이에 나타납니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gifExcel 워크시트에서 컨트롤을 포함 하기 위한 수식

Excel에서 컨트롤을 선택하면 수식 입력줄에 **=EMBED("WinForms.Control.Host","")**가 표시됩니다.이 텍스트는 필요하므로 삭제해서는 안 됩니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gifWord 문서에서 컨트롤의 레이아웃 스타일

Visual Studio 디자이너를 사용하여 문서 수준 프로젝트의 Word 문서에 컨트롤을 추가하면 컨트롤이 텍스트 줄 안에 추가됩니다.컨트롤의 레이아웃 스타일을 변경하려면 컨트롤을 마우스 오른쪽 단추로 클릭한 다음 컨트롤 서식을 클릭합니다.개체 서식 대화 상자의 레이아웃 페이지에서 줄 바꿈 스타일을 선택합니다.

런타임에 Word 문서에 컨트롤을 추가할 때 Microsoft.Office.Tools.Word.ControlCollection 클래스의 다른 Add<control class> 메서드 오버로드를 사용하여 새 컨트롤의 레이아웃 스타일을 지정할 수 있습니다.

  • 텍스트 줄 안에 컨트롤을 추가하려면 컨트롤의 위치를 지정하는 Range를 매개 변수로 받는 오버로드를 사용합니다.

  • 컨트롤을 부동 모양으로 추가하려면 컨트롤의 왼쪽 및 위쪽 좌표를 매개 변수로 받는 오버로드를 사용합니다.

자세한 내용은 런타임에 Office 문서에 컨트롤 추가을 참조하십시오.

Visual Studio 디자이너에서 Word 템플릿을 열면 템플릿이 기본 보기에서 열리므로 템플릿에서 인라인이 아닌 컨트롤이 표시되지 않습니다.컨트롤을 보려면 보기를 인쇄 레이아웃으로 변경합니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gif주 문서 본문 외부의 컨트롤

Windows Forms 컨트롤은 머리글이나 바닥글 내에 또는 하위 문서 내에 사용할 수 없습니다.

0x6hstz2.collapse_all(ko-kr,VS.110).gif디자인 타임에 구성 요소 추가

특정 컨트롤이나 구성 요소는 문서에 표시되지 않는 대신 구성 요소 트레이에 표시됩니다.Visual Studio에서는 각 문서 창에 대한 구성 요소 트레이를 제공합니다.구성 요소 트레이는 문서에 구성 요소가 있는 경우에만 화면에 나타납니다.

참고 항목

작업

방법: Office 문서에 Windows Forms 컨트롤 추가

방법: 워크시트 셀에서 컨트롤 크기 조정

방법: 인쇄할 때 워크시트에서 컨트롤 숨기기

연습: CheckBox 컨트롤을 사용하여 워크시트 서식 변경

연습: CheckBox 컨트롤을 사용하여 문서 서식 변경

연습: 워크시트에서 단추를 사용하여 텍스트 상자에 텍스트 표시

연습: 문서에서 단추를 사용하여 텍스트 상자에 텍스트 표시

연습: 문서에서 라디오 단추를 사용하여 차트 업데이트

연습: 워크시트에서 라디오 단추를 사용하여 차트 업데이트

참조

ControlCollection.Remove

ControlCollection.Remove

개념

런타임에 Office 문서에 컨트롤 추가

호스트 항목 및 호스트 컨트롤 개요

Office 문서에서 Windows Forms 컨트롤에 대한 제한 사항

Office 문서에서 Windows Forms 컨트롤에 대한 제한 사항

기타 리소스

Office 문서의 컨트롤

작업 창 개요

Windows Forms 컨트롤