• Word控件Spire.Doc 【文本】教程(15) ;如何在 C#、VB.NET 的组合框中添加、选择和删除项目


    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。下面将给您介绍在spire.doc下如何在 C#、VB.NET 的组合框中添加、选择和删除项目,希望能对您有所帮助!

    Spire.Doc for.NET 最新下载(qun:767755948)icon-default.png?t=M85Bhttps://www.evget.com/product/3368/download

    组合框是一种常用的 GUI 小部件。它是下拉列表或列表框和单行文本框的组合,允许用户直接在控件中键入值或从现有选项列表中进行选择。在本文中,我们将介绍如何使用 Spire.Doc 以编程方式管理 Word 文件中的组合框项。

    这是示例 Word 文档中的一个组合框,其中包含 A、B 和 C 三个项目。在下一节中,我们将使用代码在组合框中添加、选择和删除一个项目。

    代码片段:

    第 1 步:初始化 Document 类的新实例并加载示例 Word 文件。

    Document document = new Document();
    document.LoadFromFile( "test.docx");

    第 2 步:从文件中获取组合框。

    foreach (Section section in document.Sections)
    {
    foreach (Body body in section.ChildObjects)
    {
    foreach (DocumentObject bodyObj in body.ChildObjects)
    {
    if (bodyObj is StructureDocumentTag)
    {
    if ((bodyObj as StructureDocumentTag).SDTProperties.SDTType == SdtType.ComboBox)
    {
    SdtComboBox combo = (bodyObj as StructureDocumentTag).SDTProperties.ControlProperties as SdtComboBox;
    
    }
    }
    }
    }
    
    }

    第 3 步:创建一个新项目并为其设置两个参数:显示文本和值。调用 ListItems.Add() 方法将新项目添加到组合框中。 SdtListItem item = new SdtListItem("D","d");

    combo.ListItems.Add(item);

    第 4 步:调用 ListItems.RemoveAt() 方法通过其索引删除项目。

    combo.ListItems.RemoveAt(0);

    第 5 步:调用 ListItems.SelectedValue() 从组合框中选择一个项目。

    combo.ListItems.SelectedValue = sdtItem;

    第 6 步:保存并启动文件。

    System.Diagnostics.Process.Start("result.docx");

    输出

    document.SaveToFile("result.docx", FileFormat.Docx2013);
    System.Diagnostics.Process.Start("result.docx");

    完整代码

    [C#]

    using Spire.Doc;
    using Spire.Doc.Documents;
    namespace IteminCombo
    class Program
    {
    static void Main(string[] args)
    {
    Document document = new Document();
    document.LoadFromFile("test.docx");
    foreach (Section section in document.Sections)
    {
    foreach (Body body in section.ChildObjects)
    {
    foreach (DocumentObject bodyObj in body.ChildObjects)
    {
    if (bodyObj is StructureDocumentTag)
    {
    if ((bodyObj as StructureDocumentTag).SDTProperties.SDTType == SdtType.ComboBox)
    {
    SdtComboBox combo = (bodyObj as StructureDocumentTag).SDTProperties.ControlProperties as SdtComboBox;
    SdtListItem item = new SdtListItem("D", "d");
    combo.ListItems.Add(item);
    foreach (SdtListItem sdtItem in combo.ListItems)
    {
    if (string.CompareOrdinal(sdtItem.Value, "d") == 0)
    {
    combo.ListItems.SelectedValue = sdtItem;
    }
    }
    combo.ListItems.RemoveAt(1);
    }
    }
    }
    }
    
    }
    document.SaveToFile("result.docx", FileFormat.Docx2013);
    System.Diagnostics.Process.Start("result.docx");
    }
    }
    }

    [VB.NET]

    Dim document As New Document()
    document.LoadFromFile("test.docx")
    For Each section As Section In document.Sections
    For Each body As Body In section.ChildObjects
    For Each bodyObj As DocumentObject In body.ChildObjects
    If TypeOf bodyObj Is StructureDocumentTag Then
    If TryCast(bodyObj, StructureDocumentTag).SDTProperties.SDTType = SdtType.ComboBox Then
    Dim combo As SdtComboBox = TryCast(TryCast(bodyObj, StructureDocumentTag).SDTProperties.ControlProperties, SdtComboBox)
    Dim item As New SdtListItem("D", "d")
    combo.ListItems.Add(item)
    For Each sdtItem As SdtListItem In combo.ListItems
    If String.CompareOrdinal(sdtItem.Value, "d") = 0 Then
    combo.ListItems.SelectedValue = sdtItem
    End If
    Next
    combo.ListItems.RemoveAt(1)
    End If
    End If
    Next
    
    Next
    Next
    document.SaveToFile("result.docx", FileFormat.Docx2013)
    System.Diagnostics.Process.Start("result.docx")

    以上便是在spire.doc中如何在 C#、VB.NET 的组合框中添加、选择和删除项目教程,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群

  • 相关阅读:
    linux 设置nginx开机自启
    环保行业SaaS多租户商城系统:构建闭环电商生态,赋能环保产业数智化发展
    MDC、ThreadLocal、InheritableThreadLocal的区别和联系
    JSP 人力资源管理系统myeclipse开发mysql数据库BS模式java编程网页设计
    Android开启HTTP服务
    rust变量与常量
    百亿积木市场,能跑出一个“中国乐高”?
    C/C++网络编程基础知识超详细讲解上部分(系统性学习day11)
    技术干货 | 数据处理好难?来看MindSpore提供的解决思路!
    “薄利多销”策略研究与建模
  • 原文地址:https://blog.csdn.net/m0_67129275/article/details/127767977