操作步骤:

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、右键点击项目属性。

注意红色部分。联系QQ78474580

最新文章

  1. Android课程---序列化与反序列化(转)
  2. [BZOJ2790][Poi2012]Distance
  3. Java虚拟机学习(3): 类加载机制
  4. Firefox上Web开发工具库一览
  5. 简单排序算法 C++类实现
  6. Django session 详解-part II-session
  7. wpa_supplicant无线网络配置
  8. debian修改系统语言为英文
  9. QT5中的pro文件中为何要加入"QT += widgets"
  10. WINDOWS操作系统中可以允许最大的线程数(线程栈预留1M空间)(56篇Windows博客值得一看)
  11. gstunnel---一个网络安全管道
  12. bash脚本编程---循环
  13. Java 学习内容总结
  14. sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等
  15. nova创建虚拟机源码分析系列之四 nova代码模拟
  16. Oracle EBS R12多组织(多OU)访问架构
  17. Java-对象及变量的并发访问小结
  18. 突然发现用PHP做多条件模糊查询很简单
  19. 解决 Could not resolve com.android.tools.build:gradle:3.1.3
  20. jQuery----初识jQuery

热门文章

  1. C语言学习之交换(冒泡)排序
  2. C语言中函数可变参数解析
  3. Using $this when not in object context in
  4. kickstart无人值守
  5. matlab判断文件或文件夹是否存在
  6. javascript中this指向问题
  7. 使用locate 的正则查询 查找所有main.c
  8. Windows系统安装pip方法
  9. 安装puppeteer
  10. How to create and start VirtualBox VM without GUI