目錄

  • 插件的編寫
  • 插件的使用

參考資料 Creation of .NET Controls 109759944_Prepare.NetControls_DOC_en.pdf

插件的編寫

  1. 創建插件項目,選擇Windows窗體控件庫(.NET Framework)
  2. 框架選擇 4.5.2以上版本
  3. 為程序集簽名
  1. 在項目上右鍵點擊屬性.
  2. 切換到簽名選項卡.
  3. 勾選為程序集簽名,並創建簽名密鑰.

WinCC_RT_Professional__程序集

  1. 可選:為控件添加屬性
    在控件代碼中增加屬性代碼
private bool mvalue;//私有變量
		//Category 表示屬性所在的分類 Data表示在數據類中
		//Description 表示在屬性頁中顯示的描述
		//Browsable 表示是否在屬性頁中顯示, 不增加默認為true
		//DefaultValue 默認值,不填為空
        [Category("Data")]
		[Description("這是一個變量")]
		[Browsable(true)]
		[DefaultValue(true)]
        public bool MValue 
        {
            get { return mvalue; }
            set { mvalue = value; }
        }

WinCC_RT_Professional__控件_02

  1. 可選:為控件添加事件
  1. 創建自定義委託(可選)
//委託
        public delegate void MyChangeEventHandler();
  1. 添加自定義事件
[Browsable(true)]//是否顯示,不添加為true,為false為隱藏
        [Category("Action")]//事件分類
        [Description("Invoked when user clicks button")]//描述
        public event EventHandler ButtonClick;//此處 Eventhandle 可以改為自定義委託 MyChangeEventHandler
  1. 內部觸發事件
protected void Button1_Click(object sender, EventArgs e)
        {
            //檢查事件列表是否為空
            if (this.ButtonClick != null)
                this.ButtonClick(this, e);
        }

WinCC_RT_Professional__自定義_03

  1. 生成插件
    點擊生成下的生成來生成插件,在bin目錄中找到生成的插件dll

插件的使用

  1. 全局註冊
  1. 全局註冊的程序 ,在生成時必須選anyCpu 如果,如果不是AnyCpu生成如(X86,X64)只能通過手工加載的方式
  2. 全局註冊需要安裝.net 4 SDK 下載:https://dotnet.microsoft.com/en-us/download/dotnet-framework/thank-you/net48-developer-pack-offline-installer
  3. 以管理員身份運行CMD,跳轉到 SDK工具目錄
cd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools"

WinCC_RT_Professional__自定義_04

  1. 使用命令 全局註冊插件dll
#"gacutil.exe /l" 查看所有註冊成功的組件
#"gacutil.exe /l 程序集名稱" 查看指定程序集註冊狀態  
#"gacutil.exe /u 程序集名稱" 卸載已註冊的程序集  
#cmd下執行
gacutil.exe /i  插件路徑
#powershell下執行
./gacutil.exe /i
 #插件的路徑 最好帶雙引號,不要使用中文路徑

WinCC_RT_Professional__控件_05

  1. 手動註冊

手動註冊直接在插件中選擇 程序集dll文件即可,如果運行出現錯誤,可將Dll文件放到運行程序根目錄下再次手工選擇 註冊