博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Project 2010中添加自定义任务窗格
阅读量:6067 次
发布时间:2019-06-20

本文共 3732 字,大约阅读时间需要 12 分钟。

hot3.png

原文作者:Norm Estabrook

原文链接:

  好消息, Project 2010 现在可以支持自定义任务窗格!坏消息,让自定义任务窗格显示在一个 Project 2010中并是不是那么显而易见。总的来说还是一个好消息,因为实现起来比听起来容易的多。

  在这里,我会向大家演示如何利用  Visual Studio 中project 2010 或者Project 2007 的项目模板来给project 2010添加自定义任务窗格 .

 

Microsoft Office Project中任务窗格的简单概述

  在Project 2007中并不支持自定义任务窗格,而现在Project 2010支持它。然而,在Visual Studio 里面Project 2010 的项目模板并没有公开显示自定义任务窗格这一项,这也许会让你有点泄气。因为你知道,有了这一项,就可以通过 代码this.CustomTaskPanes 或者 Me.CustomTaskPanes访问CustomTaskPaneCollection 对象。

  不过不用担心,我们可以自己创建一个CustomTaskPaneCollection对象。具体需要什么样的代码来完成这个则由你的项目绑定的.Net Framework 的版本来决定。

  那么现在,在你的工程中添加一个用户控件User Control。这个控件给你的自定义任务窗格提供了界面设计。接下来,明确你要绑定的.Net Framework的版本。如果你创建的是一个新的Project 2010的项目,那么唯一的选择就是绑定 .NET Framework 4。尽管如此,确认版本一下也没什么大碍。这里有一片很有用的文章,主要就是介绍关于这个内容。.

等你做完了所有上面的步骤,把下面的代码添加到项目中。

对于绑定 .NET Framework 4的项目:

 

[VB]

    Private myUserControl1 As MyUserControl

    Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane

    Private myCustomTaskPaneCollection As Microsoft.Office.Tools.CustomTaskPaneCollection

 

    Private Sub ThisAddIn_Startup() Handles Me.Startup

        myUserControl1 = New MyUserControl

        myCustomTaskPaneCollection = Globals.Factory.CreateCustomTaskPaneCollection _

        (Nothing, Nothing, "CustomTaskPanes", "CustomTaskPanes", Me)

        myCustomTaskPane = myCustomTaskPaneCollection.Add(myUserControl1, "My Task Pane")

        myCustomTaskPane.Visible = True

    End Sub

 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown

        myCustomTaskPaneCollection.Dispose()

    End Sub

[C#]

    private MyUserControl myUserControl1;

    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

    private Microsoft.Office.Tools.CustomTaskPaneCollection myCustomTaskPaneCollection;

 

    private void ThisAddIn_Startup(object sender, System.EventArgs e)

    {

        myUserControl1 = new MyUserControl();

        myCustomTaskPaneCollection =

            Globals.Factory.CreateCustomTaskPaneCollection

            (null, null, "CustomTaskPanes", "CustomTaskPanes", this);

 

        myCustomTaskPane = myCustomTaskPaneCollection.Add(myUserControl1, "My Task Pane");

        myCustomTaskPane.Visible = true;

 

    }

 

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)

    {

        myCustomTaskPaneCollection.Dispose();

}

 

对于绑定.NET Framework 3.5的项目:

[VB]

    Private myUserControl1 As MyUserControl

    Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane

    Private myCustomTaskPaneCollection As Microsoft.Office.Tools.CustomTaskPaneCollection

 

    Private Sub ThisAddIn_Startup() Handles Me.Startup

        myUserControl1 = New MyUserControl

        myCustomTaskPaneCollection = New Microsoft.Office.Tools.CustomTaskPaneCollection _

            (Me.ItemProvider, Me.HostContext, "MyTaskPane", Me, "MyTaskPane")

        myCustomTaskPane = myCustomTaskPaneCollection.Add(myUserControl1, "My Task Pane")

        myCustomTaskPane.Visible = True

    End Sub

 

    Private Sub ThisAddIn_Shutdown() Handles Me.Shutdown

        myCustomTaskPaneCollection.Dispose()

    End Sub

[C#]

    private MyUserControl myUserControl1;

    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;

    private Microsoft.Office.Tools.CustomTaskPaneCollection myCustomTaskPaneCollection;

 

    private void ThisAddIn_Startup(object sender, System.EventArgs e)

    {

        myUserControl1 = new MyUserControl();

        myCustomTaskPaneCollection = new Microsoft.Office.Tools.CustomTaskPaneCollection

                (this.ItemProvider, this.HostContext, "MyTaskPane", this, "MyTaskPane");

 

        myCustomTaskPane = myCustomTaskPaneCollection.Add(myUserControl1, "My Task Pane");

        myCustomTaskPane.Visible = true;

    }

 

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)

    {

        myCustomTaskPaneCollection.Dispose();

}

想用Project 2007?没问题,检查一下这里。

所以,如果你正在使用  Visual Studio 2008,并且你没有 Project 2010项目模板,也没有问题。 Project 2010 可以承载Project 2007的外接程序。你需要做的只是去配置一下你的项目的设置,让 Project 2010可以运行起来。可执行文件的名字是WINPROJ.exe。

在解决方案浏览器中右击你的项目,选择属性,选择调试界面。下面的截屏显示了我的操作:

 2010060915444251.png

转载于:https://my.oschina.net/fenglinwansu/blog/2253395

你可能感兴趣的文章
AngularJS PhoneCat代码分析
查看>>
MEF元数据应用说明
查看>>
maven错误解决:编码GBK的不可映射字符
查看>>
2016/4/19 反射
查看>>
SharePoint Wiki发布页面的“保存冲突”
查看>>
oracle 10g 数据库与客户端冲突导致实例创建无监听问题
查看>>
Delphi中读取文本文件的方法(实例一)
查看>>
Linux常用命令
查看>>
Android开源代码解读の使用TelephonyManager获取移动网络信息
查看>>
想说一点东西。。。。
查看>>
css知多少(8)——float上篇
查看>>
NLB网路负载均衡管理器详解
查看>>
水平添加滚动条
查看>>
PHP中”单例模式“实例讲解
查看>>
VS2008查看dll导出函数
查看>>
VM EBS R12迁移,启动APTier . AutoConfig错误
查看>>
atitit.细节决定成败的适合情形与缺点
查看>>
iOS - Library 库
查看>>
MATLAB 读取DICOM格式文件
查看>>
spring事务管理(Transaction)
查看>>