频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

使用 C# 进行 Outlook 2003 编程的简介

来源: 作者: 出处:巧巧读书 2007-07-22 进入讨论组
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 下一页 

  生成的代码很简单。但是,假如已经定义了强类型的 applicationObject 成员变量,则现在需要使用显式转换来分配该变量:

 public void OnConnection(object application,
  Extensibility.ext_ConnectMode connectMode,
  object addInInst, ref System.Array custom)
{
  applicationObject =
    (Microsoft.Office.Interop.Outlook.Application)application;
  addInInstance = addInInst;
}

  我们需要对 OnConnection() 方法再有一个初始更新。按照 Knowledge Base article,OnConnection() 的整洁且正确的实现应当执行运行库测试来确定连接模式是否不同于 ext_ConnectMode.ext_cm_Startup,如果是这样,则将传入的 System.Array 转发给 OnStartupComplete() 的外接程序实现:

 public void OnConnection(object application,
  Extensibility.ext_ConnectMode connectMode,
  object addInInst, ref System.Array custom)
{
  // Cast to a strongly typed Application.
...
  // If we are not loaded upon startup, forward to OnStartupComplete()
  // and pass the incoming System.Array.
  if(connectMode != ext_ConnectMode.ext_cm_Startup)
  {
    OnStartupComplete(ref custom);
  }
}

  OnDisconnection() 方法

  当外接程序与宿主断开时(通常通过添加/删除外接程序对话框或在宿主关闭时)将调用该方法。断开模式由类型 ext_DisconnectMode 的第一个参数表示:

 public enum ext_DisconnectMode
{
  ext_dm_HostShutdown = 0;
  ext_dm_SolutionClosed = 3;
  ext_dm_UISetupComplete = 2;
  ext_dm_UserClosed = 1;
}

  向导生成的 OnDisconnection() 实现当前为空。很明显,这是外接程序执行任何清理操作的地方,为了成功关闭,外接程序可能需要执行该操作。再次,按照 Knowledge Base article,该方法的整洁且正确的实现应当对连接模式进行测试(这次针对除了 ext_DisconnectMode.ext_dm_HostShutdown 以外的任何内容),并将传入的 System.Array 转发给我们的 OnBeginShutdown() 的实现:

 public void OnDisconnection(Extensibility.ext_DisconnectMode
  disconnectMode, ref System.Array custom)
{
  if(disconnectMode !=
    ext_DisconnectMode.ext_dm_HostShutdown)
  {
    OnBeginShutdown(ref custom);
  }
  applicationObject = null;
}

  OnAddInsUpdate() 方法

  如果最终用户在宿主中插入或删除外接程序,将调用 OnAddInsUpdate() 方法(可以用 Application.COMAddins 属性在运行时获得当前列表)。如果需要在最终用户添加或删除新外接程序时执行任何特殊的过程,这里将是执行该操作的地方。自动生成的实现当前为空,并且可以保留该状态。

  OnStartupComplete() 方法

  宿主应用程序完成加载之后,将调用该方法。这时,所有宿主资源均可供外接程序使用。这是为外接程序类型构造 UI 的理想地方,因为可以安全获得 Explorers 和 Inspectors 集。

  OnBeginShutdown() 方法

  最后介绍 OnBeginShutdown(),它表示宿主正处于关闭过程中(正好在调用 OnDisconnection() 方法之前)。这时,仍然可以访问宿主应用程序,所以,这是删除插入到活动资源管理器中的任何 UI 小部件的理想地方。

URL查看 http://www.qqread.com/csharp/u301211.html 更多文章 更多内容请看Java编程开发手册专题,或进入讨论组讨论。
更多专题 【深 度 阅 读】 相 关 文 章
    上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 下一页 
    收藏此文】【 】【打印】【关闭
    较早的文章:C# GDI+编程之基础篇

    较新的文章:Orcas版C#3.0的新特性
    相关图文阅读
    频道图文推荐
    健 康 咨 询
    时 尚 咨 询
    巧巧读书宗旨
    相关专题
    讨论组问题推荐
    站内各频道最新更新文档
    站内最新制作专题
    热门关键字导读
    Photoshop教 程照片处理 照片制作 PS快捷键 抠图
    计 算 机 故 障XP系统修复
    艺 术 与 设 计设计 流媒体 设计欣赏 边框
    计 算 机 安 全ARP
    站内频道文章精选
    巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章