C#使用Word中的内置对话框实例

 更新时间:2014年10月08日 15:02:48   投稿:shichen2014  
这篇文章主要介绍了C#使用Word中的内置对话框实例,包括了对话框的显示方法及后期绑定具体用法,需要的朋友可以参考下

本文实例讲述了C#使用Word中的内置对话框的方法,分享给大家供大家参考。具体实现方法如下:

使用 Microsoft Office Word 时,有时需要显示用户输入对话框。虽然可以创建自己的对话框,您也许还希望采用使用 Word 中内置对话框的方法,这些对话框在Application 对象的Dialogs 集合中公开。这使您能够访问 200 个以上的内置对话框,它们以枚举的形式表示。

适用于:本文中的信息适用于 Word 2013 和 Word 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能:http://msdn.microsoft.com/zh-cn/library/vstudio/aa942839.aspx。

显示对话框:

若要显示对话框,请使用 WdWordDialog 枚举的值之一来创建Dialog 对象,该对象表示要显示的对话框。然后,调用Dialog 对象的Show 方法。

下面的代码示例演示如何显示“打开”对话框。若要使用此示例,请从项目内的ThisDocument 或 ThisAddIn 类中运行此示例。

复制代码 代码如下:
Word.Dialog dlg = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dlg.Show();

访问可通过后期绑定使用的对话框成员

Word 中对话框的某些属性和方法只能通过后期绑定使用。在 Visual Basic 项目Option Strict位置打开,您必须使用反射来访问这些成员。有关更多信息,请参见Office 解决方案中的后期绑定:http://msdn.microsoft.com/zh-cn/library/vstudio/3xxe951d.aspx。

下面的代码示例在 Option Strict或在 Visual C# 项目面向 .NET Framework 4 或 .NET Framework 4.5的 Visual Basic 项目演示如何使用文件已打开 对话框的 Name 属性。若要使用此示例,请从项目内的ThisDocument 或ThisAddIn 类中运行此示例。

复制代码 代码如下:
dynamic dialog = Application.Dialogs[Word.WdWordDialog.wdDialogFileOpen];
dialog.Name = "Testing";
dialog.Show();
MessageBox.Show(dialog.Name);

下面的代码示例演示如何使用反射来 文件已打开 对话框Name 属性在 Visual Basic 中的项目的访问 Option Strict位置打开。若要使用此示例,请从项目内的ThisDocument 或 ThisAddIn 类中运行此示例。

复制代码 代码如下:
Dim dlg As Word.Dialog = Application.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.SetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, New Object() {"Testing"}, _
    System.Globalization.CultureInfo.InvariantCulture)

' Display the dialog box.
dlg.Show()

' Show the Name property.
MessageBox.Show(dlgType.InvokeMember("Name", _
    Reflection.BindingFlags.GetProperty Or _
        Reflection.BindingFlags.Public Or _
        Reflection.BindingFlags.Instance, _
    Nothing, dlg, Nothing, _
    System.Globalization.CultureInfo.InvariantCulture))

希望本文所述对大家的C#程序设计有所帮助。

相关文章

  • c# Linq查询详解

    c# Linq查询详解

    这篇文章主要介绍了c# Linq查询的相关资料,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-04-04
  • C#中的不可变数据类型介绍(不可变对象、不可变集合)

    C#中的不可变数据类型介绍(不可变对象、不可变集合)

    这篇文章主要介绍了C#中的不可变数据类型介绍(不可变对象、不可变集合),本文讲解了不可变对象、自定义不可变集合、Net提供的不可变集合、不可变优点、不可变对象缺点等内容,需要的朋友可以参考下
    2015-04-04
  • C#匿名方法与Delegate类型转换错误分析

    C#匿名方法与Delegate类型转换错误分析

    这篇文章主要介绍了C#匿名方法与Delegate类型转换错误,较为详细的分析了C#匿名方法的用法及Delegate类型转换错误问题解决方法,具有一定的实用价值,需要的朋友可以参考下
    2014-11-11
  • C#预处理指令之#line,#pragma warning 详细解析

    C#预处理指令之#line,#pragma warning 详细解析

    #line 指令可能由生成过程中的自动中间步骤使用。例如,如果行从原始的源代码文件中移除,但是您仍希望编译器基于文件中的原始行号生成输出,则可以移除行,然后用 #line 模拟原始行号
    2014-01-01
  • 基于WPF绘制一个点赞大拇指动画

    基于WPF绘制一个点赞大拇指动画

    这篇文章主要为大家详细介绍了WPF实现绘制一个点赞大拇指动画,文中的示例代码讲解详细,对我们学习或工作有一定帮助,感兴趣的小伙伴可以了解一下
    2023-02-02
  • C#比较两个List集合内容是否相同的几种方法

    C#比较两个List集合内容是否相同的几种方法

    本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、排序后比较或HashSet来忽略重复元素,对于自定义类,需要重写Equals和GetHashCode方法,然后使用相应的比较方法
    2025-02-02
  • C# winfrom实现读取修改xml

    C# winfrom实现读取修改xml

    这篇文章主要为大家详细介绍了C# winfrom实现读取修改xml的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 解决C#获取鼠标相对当前窗口坐标的实现方法

    解决C#获取鼠标相对当前窗口坐标的实现方法

    本篇文章是对在C#中获取鼠标相对当前窗口坐标的方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C# WinForm捕获未处理的异常实例解析

    C# WinForm捕获未处理的异常实例解析

    这篇文章主要介绍了C# WinForm捕获未处理的异常,包括了常见的未捕获的异常、UI线程异常、非UI线程异常等,非常实用,需要的朋友可以参考下
    2014-09-09
  • C#中Monitor对象与Lock关键字的区别分析

    C#中Monitor对象与Lock关键字的区别分析

    这篇文章主要介绍了C#中Monitor对象与Lock关键字的区别,需要的朋友可以参考下
    2013-06-06

最新评论