栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

pdms二次开发入门 c#语言

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pdms二次开发入门 c#语言

第一步 了解pdms的二次开发,此处推荐别人的一篇博客。不再重复。
参考链接:博客地址

第二步 c#开发资料的获取。安装pdms后,在安装位置的DocumentationNetInterfaceReferenceFiles.zip,里面有多个pdms的接口文档说明。
根据名称基本可以判断该接口文件的用处,文件里面也有简介。
基础文件应该先看 Aveva.ApplicationFramework.chm 里面的接口,这是创建UI的入口。

第三步 开发一个简单的样例程序步骤以及代码。
1.在pdms安装目录,找到 DesignAddins.xml 文件。仿照上面的样式,添加一个HelloWorld。完成。

注:这个名称是一个索引,会通过这个名称,找到当前安装目录下面的dll文件。如上面的为:HelloWorld.dll
2.a.使用visual sudion 创建一个类库程序,选择.net framework 3.5版本(其他版本可能不支持),创建。在属性里面,最好设置生成路径为pdms安装目录。确认自己的pdms软件版本是64位还是32位,属性-目标平台里面选择对应的x86或者x64。

b.再创建两个类。一个是UI类,命令为HelloWorldAddin,一个是命令类HelloWorldCommand。此处命名可自定义,无其他关联关系。
c.添加两个引用,在pdms安装目录下找到Aveva.ApplicationFramework.dll和Aveva.ApplicationFramework.Presentation.dll。
3.准备工作完成,开始代码工作。
HelloWorldAddin需要继承Aveva.ApplicationFramework.IAddin接口,实现属性和方法。
HelloWorldCommand需要继承Aveva.ApplicationFramework.Presentation.Command类。实现构造函数和Excute函数

using Aveva.ApplicationFramework;
using Aveva.ApplicationFramework.Presentation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HelloWorld
{
    public class HelloWorldAddin : IAddin
    {
        public string Name
        {
            get
            {
                return "HelloWorldAddinName";
            }
        }

        public string Description
        {
            get
            {
                return "HelloWorldAddinDescription";
            }
        }
        /// 
        /// 程序打开时,会调用这个方法
        /// 
        /// 
        public void Start(ServiceManager serviceManager)
        {
            //命令管理器上添加一个新的命令
            CommandManager sCommandManager = (CommandManager)serviceManager.GetService(typeof(CommandManager));
            HelloWorldCommand helloWorldCommand = new HelloWorldCommand();
            sCommandManager.Commands.Add(helloWorldCommand);
            //命令栏管理器
            CommandBarManager sCommandBarManager = (CommandBarManager)serviceManager.GetService(typeof(CommandBarManager));
            //在命令栏集合中添加一个新的命令栏
            CommandBar myToolBar = sCommandBarManager.CommandBars.AddCommandBar("helloWorldBar");
            //在工具库集合中添加一个新的按钮工具
            ButtonTool buttonTool = sCommandBarManager.RootTools.AddButtonTool("helloWorldKey", "this a Button", null, helloWorldCommand);
            //在新添加的命令栏上添加这个按钮工具
            myToolBar.Tools.AddTool("helloWorldKey");

        }
        /// 
        /// 程序关闭时,会调用这个方法
        /// 
        public void Stop()
        {
            
        }
    }
}
using Aveva.ApplicationFramework.Presentation;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace HelloWorld
{
    class HelloWorldCommand:Command
    {
        public HelloWorldCommand()
        {
            Key = "Hello";
        }
        /// 
        /// 执行的方法体
        /// 
        public override void Execute()
        {
            MessageBox.Show("Hello pdms world");
        }
    }
}

4.生成HelloWorld.dll,确认HelloWorld.dll文件在pdms安装目录下。打开软件Design,点击按钮,最终效果。


pdms二次开发 新手学习中,文章有问题欢迎指正。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983732.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号