国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#向Word文檔中添加內(nèi)容控件的方法示例

2019-10-29 21:16:03
字體:
供稿:網(wǎng)友

color: #ff0000">前言

大家應(yīng)該都知道在MS Word中,我們可以通過內(nèi)容控件來向word文檔中插入預(yù)先定義好的模塊,指定模塊的內(nèi)容格式(如圖片、日期、列表或格式化的文本等),從而創(chuàng)建一個結(jié)構(gòu)化的word文檔。

下面就來看看如何使用C#給word文檔添加組合框、文本、圖片、日期選取器及下拉列表等內(nèi)容控件(這里我借助了一個word組件Spire.Doc)。

添加組合框內(nèi)容控件

組合框用于顯示用戶可以選擇的項(xiàng)目列表。和下拉列表不同的是組合框允許用戶編輯或添加項(xiàng)。

核心代碼如下:

//給段落添加一個內(nèi)容控件并指定它的SDT type為Combo BoxStructureDocumentTagInline sd = new StructureDocumentTagInline(document);paragraph.ChildObjects.Add(sd);sd.SDTProperties.SDTType = SdtType.ComboBox;//創(chuàng)建一個Combo Box, 添加選項(xiàng)并把它賦值給內(nèi)容控件SdtComboBox cb = new SdtComboBox();cb.ListItems.Add(new SdtListItem("Cat"));cb.ListItems.Add(new SdtListItem("Dog"));sd.SDTProperties.ControlProperties = cb; //設(shè)置顯示文本TextRange rt = new TextRange(document);rt.Text = cb.ListItems[0].DisplayText;sd.SDTContent.ChildObjects.Add(rt);

c,word控件,word添加圖片控件,word內(nèi)容控件

添加文本內(nèi)容控件

純文本控件包含文本,但不能包含其他項(xiàng),例如表格、圖片或其他內(nèi)容控件。此外,純文本控件中的所有文本都具有相同的格式。

添加文本內(nèi)容控件的步驟和添加組合框內(nèi)容控件類似

核心代碼如下:

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);

c,word控件,word添加圖片控件,word內(nèi)容控件

添加圖片內(nèi)容控件

圖片控件用于顯示圖像。我們可以在設(shè)計(jì)時或運(yùn)行時指定圖像,用戶也可以單擊此控件以選擇要插入文檔中的圖像。

核心代碼:

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);

c,word控件,word添加圖片控件,word內(nèi)容控件

添加日期選取器內(nèi)容控件

日期選取器提供用于選擇日期的日歷 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);

c,word控件,word添加圖片控件,word內(nèi)容控件

添加下拉列表內(nèi)容控件

下拉列表顯示了用戶可以選擇的項(xiàng)目列表。和組合框不同的是,下拉列表不允許用戶添加或編輯項(xiàng)。

核心代碼:

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);

c,word控件,word添加圖片控件,word內(nèi)容控件

全部代碼:

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)  {   //創(chuàng)建一個新的Word文檔   Document document = new Document();   Section section = document.AddSection();   Paragraph paragraph = section.AddParagraph();   //添加組合框內(nèi)容控件   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);   //添加文本內(nèi)容控件   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);   //添加圖片內(nèi)容控件   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);    //添加日期選取器內(nèi)容控件   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);    //添加下拉列表內(nèi)容控件   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);     } }}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。


注:相關(guān)教程知識閱讀請移步到c#教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 格尔木市| 泗阳县| 鹰潭市| 泸西县| 建瓯市| 繁昌县| 玉龙| 奉贤区| 五峰| 宜丰县| 荣昌县| 六盘水市| 娄烦县| 基隆市| 新竹市| 平邑县| 武功县| 清镇市| 怀宁县| 安阳市| 嘉善县| 江华| 西畴县| 巴林右旗| 楚雄市| 永泰县| 普兰店市| 武隆县| 青浦区| 柏乡县| 康保县| 独山县| 淮北市| 腾冲县| 瑞金市| 儋州市| 华亭县| 镇平县| 三都| 华池县| 台前县|