操作步驟:
1、新建一個項目CSFramework3.test,在CSFramework3.test項目下新建一個FormMan窗口(此時不需要繼承)。
2、按F7打開類,替換一下引用
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using CSFramework3.Interfaces;
using CSFramework.Library;
using CSFramework.Common;
此時下面三個模塊會報錯,因為框架窗口沒有引用這三個模塊。如圖添加引用
CSFramework3.Interfaces 共用 系統接口模塊
CSFramework.Common 共用 公共模塊
CSFramework.Library 不共用 基類庫模塊
3、繼承模塊主窗體基類,把Form換成frmModuleBase
public partial class FormMan : frmModuleBase
如果出現設計器報錯,刪除FromMan.Designer中報錯的代碼,因為繼承窗口關系沒有自動生成代碼。如圖
4、打開設計頁面,在工具里搜索MenuStrip 添加一個菜單控件,保存。(如果以上操作沒成功)
5、直接使用繼承窗口創建項目。(刪除沒有成功的項目)
6、打開設計頁面,在工具里搜索MenuStrip 添加一個菜單控件,保存。如圖
圖中的測試按鈕隨便復制一個過來。menustrip是添加的菜單。
7、下來照樣把上面的引用替換。在初始方法中加入以下紅色的代碼。
public frmDocumentManagementMan()
{
InitializeComponent();
_ModuleID = CSFramework3.Interfaces.ModuleID.DocumentManagement; //設置模塊編號
_ModuleName = ModuleNames.DocumentManagement;//設置模塊名稱
menuStrip1.Text = ModuleNames.DocumentManagement; //與AssemblyModuleEntry.ModuleName定義相同
this.MainMenuStrip = this.menuStrip1;
this.SetMenuTag();
}
正常情況下SetMenuTag();和DocumentManagement會報錯,因為沒有實現它的方法。繼續加入紅色代碼,
DocumentManagement報錯是沒有設置菜單名稱,暫時不管。
public override MenuStrip GetModuleMenu()//為窗口提供菜單系統
{
return this.menuStrip1;
}
private void SetMenuTag()
{
menuOperationMain.Tag = new MenuItemTag(MenuType.ItemOwner, (int)CSFramework3.Interfaces.ModuleID.PurchaseModule, AuthorityCategory.NONE);
btnSales.Tag = new MenuItemTag(MenuType.DataForm, (int)CSFramework3.Interfaces.ModuleID.OperationPlan, AuthorityCategory.MASTER_ACTION);
}
可能menuOperationMain和btnSales會報錯,改成對應的name,菜單name和按鈕name 設計器屬性找。
8、在類中找到ModuleID 按F12
設置菜單ID和名稱,最后一個不要加逗號。復制tests這個名稱,打開類fromman。把報錯的DocumentManagement換成tests
9、找到這個類打開,修改里面的引用和代碼。
替換引用
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using CSFramework.Library;
using CSFramework3.Interfaces;
using CSFramework.Core;
替換注意紅色部分
[assembly: AssemblyModuleEntry(ModuleID.tests, ModuleNames.tests, "CSFramework3.test.FormMan")]//這行需要手動添加
[assembly: AssemblyTitle("CSFramework3.test")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("CSFramework3.test")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
10、右鍵點擊項目屬性。
注意紅色部分。聯系QQ同微信 78474580