C\#Word 문서 에 내용 컨트롤 을 추가 하 는 방법 예시
MS Word 에 서 는 콘 텐 츠 컨트롤 을 통 해 워드 문서 에 미리 정 의 된 모듈 을 삽입 하고 모듈 의 콘 텐 츠 형식(예 를 들 어 그림,날짜,목록 또는 포맷 된 텍스트 등)을 지정 하여 구조 화 된 워드 문 서 를 만 들 수 있다 는 것 을 잘 알 고 있 을 것 입 니 다.
C\#워드 문서 에 조합 상자,텍스트,그림,날짜 선택 기 및 드 롭 다운 목록 등 콘 텐 츠 컨트롤 을 추가 하 는 방법 을 살 펴 보 겠 습 니 다.
콤 보 상자 내용 컨트롤 추가
조합 상 자 는 사용자 가 선택 할 수 있 는 항목 목록 을 표시 하 는 데 사 용 됩 니 다.드 롭 다운 목록 과 달리 콤 보 상 자 는 사용자 가 항목 을 편집 하거나 추가 할 수 있 도록 합 니 다.
핵심 코드 는 다음 과 같 습 니 다.
// SDT type Combo Box
StructureDocumentTagInline sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.ComboBox;
// Combo Box,
SdtComboBox cb = new SdtComboBox();
cb.ListItems.Add(new SdtListItem("Cat"));
cb.ListItems.Add(new SdtListItem("Dog"));
sd.SDTProperties.ControlProperties = cb;
//
TextRange rt = new TextRange(document);
rt.Text = cb.ListItems[0].DisplayText;
sd.SDTContent.ChildObjects.Add(rt);
텍스트 내용 컨트롤 추가
일반 텍스트 컨트롤 은 텍스트 를 포함 하지만 표,그림 또는 다른 내용 컨트롤 과 같은 다른 항목 은 포함 할 수 없습니다.이 밖 에 일반 텍스트 컨트롤 의 모든 텍스트 는 같은 형식 을 가지 고 있다.
텍스트 내용 컨트롤 추가 절차 와 콤 보 상자 내용 컨트롤 추가 유사
핵심 코드 는 다음 과 같 습 니 다.
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.Text;
SdtText text = new SdtText(true);
text.IsMultiline = true;
sd.SDTProperties.ControlProperties = text;
rt = new TextRange(document);
rt.Text = "Text";
sd.SDTContent.ChildObjects.Add(rt);
그림 내용 컨트롤 추가
그림 컨트롤 은 그림 을 표시 하 는 데 사 용 됩 니 다.디자인 할 때 나 실행 할 때 그림 을 지정 할 수 있 습 니 다.사용자 도 이 컨트롤 을 누 르 면 문서 에 삽입 할 그림 을 선택 할 수 있 습 니 다.
핵심 코드:
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.Picture;
DocPicture pic = new DocPicture(document) { Width = 10, Height = 10 };
pic.LoadImage(Image.FromFile("C:\\Icon.jpg"));
sd.SDTContent.ChildObjects.Add(pic);
날짜 선택 기 내용 컨트롤 추가
날짜 선택 기 는 날 짜 를 선택 할 달력 UI 를 제공 합 니 다.최종 사용자 가 컨트롤 의 아래쪽 화살 표를 누 르 면 달력 이 표 시 됩 니 다.
핵심 코드:
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.DatePicker;
SdtDate date = new SdtDate();
date.CalendarType = CalendarType.Default;
date.DateFormat = "yyyy.MM.dd";
date.FullDate = DateTime.Now;
sd.SDTProperties.ControlProperties = date;
rt = new TextRange(document);
rt.Text = "1990.02.08";
sd.SDTContent.ChildObjects.Add(rt);
드 롭 다운 목록 내용 컨트롤 추가
드 롭 다운 목록 은 사용자 가 선택 할 수 있 는 항목 목록 을 보 여 줍 니 다.콤 보 상자 와 달리 드 롭 다운 목록 은 사용자 가 항목 을 추가 하거나 편집 할 수 없습니다.
핵심 코드:
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.DropDownList;
SdtDropDownList sddl = new SdtDropDownList();
sddl.ListItems.Add(new SdtListItem("Harry"));
sddl.ListItems.Add(new SdtListItem("Jerry"));
sd.SDTProperties.ControlProperties = sddl;
rt = new TextRange(document);
rt.Text = sddl.ListItems[0].DisplayText;
sd.SDTContent.ChildObjects.Add(rt);
모든 코드:
using System;
using System.Drawing;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
namespace Insert_content_control_in_word_document
{
class Program
{
static void Main(string[] args)
{
// Word
Document document = new Document();
Section section = document.AddSection();
Paragraph paragraph = section.AddParagraph();
//
StructureDocumentTagInline sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.ComboBox;
SdtComboBox cb = new SdtComboBox();
cb.ListItems.Add(new SdtListItem("Cat"));
cb.ListItems.Add(new SdtListItem("Dog"));
sd.SDTProperties.ControlProperties = cb;
TextRange rt = new TextRange(document);
rt.Text = cb.ListItems[0].DisplayText;
sd.SDTContent.ChildObjects.Add(rt);
//
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.Text;
SdtText text = new SdtText(true);
text.IsMultiline = true;
sd.SDTProperties.ControlProperties = text;
rt = new TextRange(document);
rt.Text = "Text";
sd.SDTContent.ChildObjects.Add(rt);
//
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.Picture;
DocPicture pic = new DocPicture(document) { Width = 10, Height = 10 };
pic.LoadImage(Image.FromFile("C:\\Icon.jpg"));
sd.SDTContent.ChildObjects.Add(pic);
//
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.DatePicker;
SdtDate date = new SdtDate();
date.CalendarType = CalendarType.Default;
date.DateFormat = "yyyy.MM.dd";
date.FullDate = DateTime.Now;
sd.SDTProperties.ControlProperties = date;
rt = new TextRange(document);
rt.Text = "1990.02.08";
sd.SDTContent.ChildObjects.Add(rt);
//
paragraph = section.AddParagraph();
sd = new StructureDocumentTagInline(document);
paragraph.ChildObjects.Add(sd);
sd.SDTProperties.SDTType = SdtType.DropDownList;
SdtDropDownList sddl = new SdtDropDownList();
sddl.ListItems.Add(new SdtListItem("Harry"));
sddl.ListItems.Add(new SdtListItem("Jerry"));
sd.SDTProperties.ControlProperties = sddl;
rt = new TextRange(document);
rt.Text = sddl.ListItems[0].DisplayText;
sd.SDTContent.ChildObjects.Add(rt);
//
string resultfile = "sample.docx";
document.SaveToFile(resultfile, FileFormat.Docx);
System.Diagnostics.Process.Start(resultfile);
}
}
}
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C#Task를 사용하여 비동기식 작업을 수행하는 방법라인이 완성된 후에 이 라인을 다시 시작할 수 없습니다.반대로 조인(Join)만 결합할 수 있습니다 (프로세스가 현재 라인을 막습니다). 임무는 조합할 수 있는 것이다. 연장을 사용하여 그것들을 한데 연결시키는 것이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.