Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8236892
  • 博文数量: 444
  • 博客积分: 10593
  • 博客等级: 上将
  • 技术积分: 3852
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-09 15:26
文章分类

全部博文(444)

文章存档

2014年(1)

2013年(10)

2012年(18)

2011年(35)

2010年(125)

2009年(108)

2008年(52)

2007年(72)

2006年(23)

分类: 系统运维

2010-05-27 20:12:55

使用 Microsoft Visual Studio Tools for Applications (VSTA) 向 Microsoft Office InfoPath 2007 托管代码表单模板中添加事件处理程序的过程与为脚本添加事件处理程序的过程类似。例如,若要为 Loading 事件添加事件处理程序,需要在 InfoPath 设计模式下打开表单模板,在“工具”菜单上指向“编程”,然后单击“加载事件”。焦点会自动切换到 VSTA 代码编辑器中的框架事件处理程序。

在带有 Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System 的 Visual Studio 2005 中或在 带 Visual Studio Tools for Office 的 Visual Studio 2008 中使用相同的过程,但为表单级事件(LoadingViewSwitchedContextChangedSign 事件)添加事件处理程序。这些区别会在下面的过程中说明。

Note重要信息:

添加事件处理程序会在表单模板项目中 FormCode.cs 或 FormCode.vb 文件的 InternalStartup 方法中生成事件绑定代码。您不应自己创建 InternalStartup 方法或在其中添加其他任何代码。

为按钮控件的 Click 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式下打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目。

  2. 在“控件”任务窗格或 Visual Studio“工具箱”中,将某个“按钮”拖到表单上。

  3. 双击该按钮,然后单击“编辑表单代码”。

    焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 事件的框架事件处理程序。

为域或组的 Changing、Validating 或 Changed 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式下打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目。

  2. 右键单击绑定到域或组的数据输入控件,如“文本框”控件。

  3. 指向“编程”,然后单击要为其创建事件处理程序的事件。焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 、 或 事件的框架事件处理程序。

    Note注意:

    如果在创建表单模板时选中了“设计表单”对话框中的“仅启用浏览器兼容性功能”复选框,或者在“表单选项”对话框的“兼容性”类别中选中了“设计一个既用于 InfoPath 服务又用于表单服务的表单模板”复选框,则“Changing 事件”的命令将不可用。这是由于在 Microsoft Office Forms Server 2007 或具有 InfoPath Forms Services 的 Microsoft Office SharePoint Server 2007 上,不支持在发布到文档库中的表单模板的业务逻辑中使用 Changing 事件的事件处理程序。

为表单的 Loading、ViewSwitched、ContextChanged 和 Sign 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式下打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目。

  2. 在 InfoPath 中,在“工具”菜单上指向“编程”,然后单击要为其编写事件处理程序的表单事件。

    在 Visual Studio 中,在“插入”菜单上指向“事件”,然后单击要为其编写事件处理程序的表单事件。

    焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 、、 或 事件的框架事件处理程序。

    Note注意:

    如果在创建表单模板时选中了“设计表单”对话框中的“仅启用浏览器兼容性功能”复选框,或者在“表单选项”对话框的“兼容性”类别中选中了“设计一个既用于 InfoPath 服务又用于表单服务的表单模板”复选框,则“ContextChanged 事件”或“为事件签名”的命令将不可用。这是由于在 Microsoft Office Forms Server 2007 或具有 InfoPath Forms Services 的 Microsoft Office SharePoint Server 2007 上,不支持在发布到文档库中的表单模板的业务逻辑中使用 ContextChangedSign 事件的事件处理程序。

为表单的 Submit 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式下打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目,然后单击“manifest.xsf [设计]”选项卡显示表单设计器。

  2. 在“工具”菜单上单击“表单提交选项”。

  3. 依次单击“允许用户提交此表单”、“使用代码执行自定义操作”和“编辑代码”。

    焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 事件的框架事件处理程序。

为表单的 Save 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式下打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目,然后单击“manifest.xsf [设计]”选项卡显示表单设计器。

  2. 在“工具”菜单上单击“表单选项”。

  3. 单击“打开并保存”类别,选中“使用自定义代码保存”复选框,然后单击“编辑”。

    焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 事件的框架事件处理程序。

    Note注意:

    如果在创建表单模板时选中了“设计表单”对话框中的“仅启用浏览器兼容性功能”复选框,或者在“表单选项”对话框的“兼容性”类别中选中了“设计一个既用于 InfoPath 服务又用于表单服务的表单模板”复选框,则“使用自定义代码保存”复选框将不可用。这是由于在 Microsoft Office Forms Server 2007 或具有 InfoPath Forms Services 的 Microsoft Office SharePoint Server 2007 上,不支持在发布到文档库中的表单模板的业务逻辑中使用 Save 事件的事件处理程序。

为表单的 VersionUpgrade 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式���打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目,然后单击“manifest.xsf [设计]”选项卡显示表单设计器。

  2. 在“工具”菜单上单击“表单选项”。

  3. 单击“编程”类别,从“版本升级时”下拉框中选择“使用自定义事件”,然后单击“编辑”。

    焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 Save 事件的框架事件处理程序。

为表单的 Merge 事件添加事件处理程序

  1. 如果使用的是 InfoPath,请在设计模式下打开表单模板。

    如果使用的是 Visual Studio,请打开“InfoPath 表单模板”项目,然后单击“manifest.xsf [设计]”选项卡显示表单设计器。

  2. 在“工具”菜单上单击“表单选项”。

  3. 依次单击“高级”类别、“启用表单合并”复选框和“编辑”。

    焦点将切换到 VSTA 或 Visual Studio 代码编辑器中 事件的框架事件处理程序。

    Note注意:

    如果在创建表单模板时选中了“设计表单”对话框中的“仅启用浏览器兼容性功能”复选框,或者在“表单选项”对话框的“兼容性”类别中选中了“设计一个既用于 InfoPath 服务又用于表单服务的表单模板”复选框,则“启用表单合并”将不可用。这是由于在 Microsoft Office Forms Server 2007 或具有 InfoPath Forms Services 的 Microsoft Office SharePoint Server 2007 上,不支持在发布到文档库中的表单模板的业务逻辑中使用 Merge 事件的事件处理程序。

阅读(2513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~