用C#编写的插件管理程序
2006-10-04 19:51
573 查看
最近公司的老板要求把软件做成模块化的,只需要从公司的功能库中Check若干个,组合一下(不要编译)就可以成为一个新的软件的要求。
为了实现这个要求,实现了一个插件工具(尚处于第一个阶段)。
XML配置如下:
app.xml
<?xml version="1.0" encoding="GB2312"?>
<Application>
<Runtimes>
<Runtime Import = "System" />
<Runtime Import = "System.Windows.Forms" />
</Runtimes>
<Modules>
<Module ReferenceFile ="./Module.addin" />
</Modules>
</Application>
Module.addin如下:
<?xml version="1.0" encoding="gb2312" ?>
<Module Name = "索力测试"
SN = "6B272DB3-1ADA-47fe-AA36-9C2C5A6EBC83"
Icon =""
IsEnabled = "true">
<References>
<Reference Assembly = "..TestRxAddInCore.dll" />
</References>
<Resources>
<Resource File = ".strings.resources" Type = "string" />
<Resource File = ".images.resources" Type = "images" />
</Resources>
<Path Name = "MainMenu">
<MenuItem ID = "m_menu_file" Label = "文件(&F)">
<MenuItem ID = "m_menu_file_new"
Label = "新建(&N)"
ShortCut = "Control|N"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_open"
Label = "打开(&O)..."
ShortCut = "Control|O"
Icon = ""
Class = ""/>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_save"
Label = "保存(&S)..."
ShortCut = "Control|S"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_savesa"
Label = "另存为(&A)..."
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_datasavesa"
Label = "数据另存为"
ShortCut = ""
Icon = ""
Class = "">
<MenuItem ID = "m_menu_datasavesa_txt"
Label = "文本文件"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_datasavesa_excel"
Label = "Excel文件"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_datasavesa_word"
Label = "Word文件"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_datasavesa_matlab"
Label = "MatLab Workspace"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_print"
Label = "打印(&P)..."
ShortCut = "Control|P"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_preview"
Label = "打印预览(&W)..."
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_import"
Label = "导入"
ShortCut = ""
Icon = ""
Class = "">
<MenuItem ID = "m_menu_file_import_sensor"
Label = "传感器信息"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_file_import_cable"
Label = "索信息"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem ID = "m_menu_file_export"
Label = "导出"
ShortCut = ""
Icon = ""
Class = "">
<MenuItem ID = "m_menu_file_export_sensor"
Label = "传感器信息"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_file_export_cable"
Label = "索信息"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_exit"
Label = "退出(&X)"
ShortCut = "Control|X"
Icon = ""
Class = ""/>
</MenuItem>
<MenuItem ID = "m_menu_control" Label = "控制(&C)">
<MenuItem ID ="m_menu_control_blance"
Label="平衡"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category = "separator"/>
<MenuItem ID ="m_menu_control_sampling_start"
Label="开始采样"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_sampling_pause"
Label="暂停采样"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_sampling_stop"
Label="停止采样"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category = "separator"/>
<MenuItem ID ="m_menu_control_replay_start"
Label="开始回放"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_replay_pause"
Label="暂停回放"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_replay_stop"
Label="停止回放"
ShortCut=""
Icon=""
Class=""/>
</MenuItem>
<MenuItem ID = "m_menu_observation " Label = "观测(&O)">
<MenuItem ID ="m_menu_observation_cursor"
Label="光标"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_cursor_single"
Label = "单光标"
ShortCut = ""
Class = "TestRxAddInCore.NewProjectCommand"
Icon = "" />
<MenuItem ID = "m_menu_cursor_double"
Label = "双光标"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_cursor_four"
Label = "四光标"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_cursor_xie"
Label = "谐光标"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_cursor_peak"
Label = "峰值列表"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_cursor_sync"
Label = "光标同步"
ShortCut = ""
Icon = ""
Class = ""/>
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_move"
Label="数据移动"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_move_prev"
Label = "移动上一块"
ShortCut = "Control|Left"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_prev_sync"
Label = "同步移动上一块"
ShortCut = "Control|Shift|Left"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_next_sync"
Label = "同步移动下一块"
ShortCut = "Control|Shift|Right"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_next"
Label = "移动下一块"
ShortCut = "Control|Right"
Class = ""
Icon = "" />
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_move_goto"
Label = "数据定位"
ShortCut = "Control|G"
Class = ""
Icon = "" />
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_move_first"
Label = "移动到第一块"
ShortCut = "Control|PageUp"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_last"
Label = "移动到最后一块"
ShortCut = "Control|PageDown"
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_zoom"
Label="图形缩放"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_zoom_h_in"
Label = "横向放大"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_h_out"
Label = "横向缩小"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_v_in"
Label = "纵向放大"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_v_out"
Label = "纵向缩小"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_zoom_xy_in"
Label = "增加X-Y记录仪数据量"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_xy_out"
Label = "减少X-Y记录仪数据量"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_scale"
Label="刻度"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_scale_auto"
Label = "自动刻度"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_scale_default"
Label = "默认刻度"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_scale_fixed"
Label = "固定刻度"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_info"
Label="基频索力显示窗"
ShortCut=""
Icon=""
Class=""/>
</MenuItem>
<MenuItem ID = "m_menu_view" Label = "查看(&V)"></MenuItem>
<MenuItem ID = "m_menu_window" Label = "窗口(&W)">
<MenuItem ID ="m_menu_window_new"
Label="新建窗口(&N)"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_window_close"
Label="关闭(&C)"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_closeall"
Label="全部关闭"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_closeother"
Label="除此以外全部关闭"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_window_cascade"
Label="层叠"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_htile"
Label="水平平铺"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_vtile"
Label="垂直平铺"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_window_mgr"
Label="窗口(&W)..."
ShortCut=""
Icon=""
Class=""/>
</MenuItem>
<MenuItem ID = "m_menu_help" Label = "帮助(&H)">
<MenuItem ID = "m_menu_help_about"
Label = "关于(&A)"
ShortCut = "Control|A"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_help_topic"
Label = "帮助主题(&H)"
ShortCut = "Control|H"
Icon = ""
Class = ""/>
</MenuItem>
</Path>
<Path Name = "Toolbar">
<ToolBar Label = "常用工具条" ID = "m_ToolBar_Common">
<ToolbarItem ID = "m_tool_new"
Tooltip = "新建需求"
Icon = "${DeleteHS}"
Class = "TestRxAddInCore.NewProjectCommand"/>
<ToolbarItem Category = "separator"/>
<ToolbarItem ID = "m_tool_mode"
Tooltip = "分析模式"
Class = "TestRxAddInCore.NewProjectCommand"
Category = "Combobox">
<ComboboxItem Label = "相关分析"></ComboboxItem>
<ComboboxItem Label = "时域分析" IsDefault ="true"></ComboboxItem>
</ToolbarItem>
<ToolbarItem ID = "m_tool_cursor"
Tooltip = "光标开关"
Class = "TestRxAddInCore.NewProjectCommand"
Icon = "${Edit_RedoHS}"
Category = "SplitButton">
<SplitItem ID = "m_tool_cursor_single"
Label = "单光标"
ShortCut = ""
Class = "TestRxAddInCore.NewProjectCommand"
Icon = "" />
<SplitItem ID = "m_tool_cursor_double"
Label = "双光标"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem ID = "m_tool_cursor_four"
Label = "四光标"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem ID = "m_tool_cursor_xie"
Label = "谐光标"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem Category = "separator"/>
<SplitItem ID = "m_tool_cursor_peak"
Label = "峰值列表"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem ID = "m_tool_cursor_sync"
Label = "光标同步"
ShortCut = ""
Icon = ""
Class = ""/>
</ToolbarItem>
</ToolBar>
</Path>
</Module>
效果:
新增功能:(2006-10-11)
1、增加了对脚本的支持。支持的脚本有C#、VB.NET、JScript、J#。对于脚本采用预编译机制。
2、脚本与脚本之间可以存在依赖关系。
需要源代码的请留下邮箱
为了实现这个要求,实现了一个插件工具(尚处于第一个阶段)。
XML配置如下:
app.xml
<?xml version="1.0" encoding="GB2312"?>
<Application>
<Runtimes>
<Runtime Import = "System" />
<Runtime Import = "System.Windows.Forms" />
</Runtimes>
<Modules>
<Module ReferenceFile ="./Module.addin" />
</Modules>
</Application>
Module.addin如下:
<?xml version="1.0" encoding="gb2312" ?>
<Module Name = "索力测试"
SN = "6B272DB3-1ADA-47fe-AA36-9C2C5A6EBC83"
Icon =""
IsEnabled = "true">
<References>
<Reference Assembly = "..TestRxAddInCore.dll" />
</References>
<Resources>
<Resource File = ".strings.resources" Type = "string" />
<Resource File = ".images.resources" Type = "images" />
</Resources>
<Path Name = "MainMenu">
<MenuItem ID = "m_menu_file" Label = "文件(&F)">
<MenuItem ID = "m_menu_file_new"
Label = "新建(&N)"
ShortCut = "Control|N"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_open"
Label = "打开(&O)..."
ShortCut = "Control|O"
Icon = ""
Class = ""/>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_save"
Label = "保存(&S)..."
ShortCut = "Control|S"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_savesa"
Label = "另存为(&A)..."
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_datasavesa"
Label = "数据另存为"
ShortCut = ""
Icon = ""
Class = "">
<MenuItem ID = "m_menu_datasavesa_txt"
Label = "文本文件"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_datasavesa_excel"
Label = "Excel文件"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_datasavesa_word"
Label = "Word文件"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_datasavesa_matlab"
Label = "MatLab Workspace"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_print"
Label = "打印(&P)..."
ShortCut = "Control|P"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_file_preview"
Label = "打印预览(&W)..."
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_import"
Label = "导入"
ShortCut = ""
Icon = ""
Class = "">
<MenuItem ID = "m_menu_file_import_sensor"
Label = "传感器信息"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_file_import_cable"
Label = "索信息"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem ID = "m_menu_file_export"
Label = "导出"
ShortCut = ""
Icon = ""
Class = "">
<MenuItem ID = "m_menu_file_export_sensor"
Label = "传感器信息"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_file_export_cable"
Label = "索信息"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_file_exit"
Label = "退出(&X)"
ShortCut = "Control|X"
Icon = ""
Class = ""/>
</MenuItem>
<MenuItem ID = "m_menu_control" Label = "控制(&C)">
<MenuItem ID ="m_menu_control_blance"
Label="平衡"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category = "separator"/>
<MenuItem ID ="m_menu_control_sampling_start"
Label="开始采样"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_sampling_pause"
Label="暂停采样"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_sampling_stop"
Label="停止采样"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category = "separator"/>
<MenuItem ID ="m_menu_control_replay_start"
Label="开始回放"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_replay_pause"
Label="暂停回放"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_control_replay_stop"
Label="停止回放"
ShortCut=""
Icon=""
Class=""/>
</MenuItem>
<MenuItem ID = "m_menu_observation " Label = "观测(&O)">
<MenuItem ID ="m_menu_observation_cursor"
Label="光标"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_cursor_single"
Label = "单光标"
ShortCut = ""
Class = "TestRxAddInCore.NewProjectCommand"
Icon = "" />
<MenuItem ID = "m_menu_cursor_double"
Label = "双光标"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_cursor_four"
Label = "四光标"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_cursor_xie"
Label = "谐光标"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_cursor_peak"
Label = "峰值列表"
ShortCut = ""
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_cursor_sync"
Label = "光标同步"
ShortCut = ""
Icon = ""
Class = ""/>
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_move"
Label="数据移动"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_move_prev"
Label = "移动上一块"
ShortCut = "Control|Left"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_prev_sync"
Label = "同步移动上一块"
ShortCut = "Control|Shift|Left"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_next_sync"
Label = "同步移动下一块"
ShortCut = "Control|Shift|Right"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_next"
Label = "移动下一块"
ShortCut = "Control|Right"
Class = ""
Icon = "" />
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_move_goto"
Label = "数据定位"
ShortCut = "Control|G"
Class = ""
Icon = "" />
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_move_first"
Label = "移动到第一块"
ShortCut = "Control|PageUp"
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_move_last"
Label = "移动到最后一块"
ShortCut = "Control|PageDown"
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_zoom"
Label="图形缩放"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_zoom_h_in"
Label = "横向放大"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_h_out"
Label = "横向缩小"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_v_in"
Label = "纵向放大"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_v_out"
Label = "纵向缩小"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem Category = "separator"/>
<MenuItem ID = "m_menu_zoom_xy_in"
Label = "增加X-Y记录仪数据量"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_zoom_xy_out"
Label = "减少X-Y记录仪数据量"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_scale"
Label="刻度"
ShortCut=""
Icon=""
Class="">
<MenuItem ID = "m_menu_scale_auto"
Label = "自动刻度"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_scale_default"
Label = "默认刻度"
ShortCut = ""
Class = ""
Icon = "" />
<MenuItem ID = "m_menu_scale_fixed"
Label = "固定刻度"
ShortCut = ""
Class = ""
Icon = "" />
</MenuItem>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_observation_info"
Label="基频索力显示窗"
ShortCut=""
Icon=""
Class=""/>
</MenuItem>
<MenuItem ID = "m_menu_view" Label = "查看(&V)"></MenuItem>
<MenuItem ID = "m_menu_window" Label = "窗口(&W)">
<MenuItem ID ="m_menu_window_new"
Label="新建窗口(&N)"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_window_close"
Label="关闭(&C)"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_closeall"
Label="全部关闭"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_closeother"
Label="除此以外全部关闭"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_window_cascade"
Label="层叠"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_htile"
Label="水平平铺"
ShortCut=""
Icon=""
Class=""/>
<MenuItem ID ="m_menu_window_vtile"
Label="垂直平铺"
ShortCut=""
Icon=""
Class=""/>
<MenuItem Category="separator"/>
<MenuItem ID ="m_menu_window_mgr"
Label="窗口(&W)..."
ShortCut=""
Icon=""
Class=""/>
</MenuItem>
<MenuItem ID = "m_menu_help" Label = "帮助(&H)">
<MenuItem ID = "m_menu_help_about"
Label = "关于(&A)"
ShortCut = "Control|A"
Icon = ""
Class = ""/>
<MenuItem ID = "m_menu_help_topic"
Label = "帮助主题(&H)"
ShortCut = "Control|H"
Icon = ""
Class = ""/>
</MenuItem>
</Path>
<Path Name = "Toolbar">
<ToolBar Label = "常用工具条" ID = "m_ToolBar_Common">
<ToolbarItem ID = "m_tool_new"
Tooltip = "新建需求"
Icon = "${DeleteHS}"
Class = "TestRxAddInCore.NewProjectCommand"/>
<ToolbarItem Category = "separator"/>
<ToolbarItem ID = "m_tool_mode"
Tooltip = "分析模式"
Class = "TestRxAddInCore.NewProjectCommand"
Category = "Combobox">
<ComboboxItem Label = "相关分析"></ComboboxItem>
<ComboboxItem Label = "时域分析" IsDefault ="true"></ComboboxItem>
</ToolbarItem>
<ToolbarItem ID = "m_tool_cursor"
Tooltip = "光标开关"
Class = "TestRxAddInCore.NewProjectCommand"
Icon = "${Edit_RedoHS}"
Category = "SplitButton">
<SplitItem ID = "m_tool_cursor_single"
Label = "单光标"
ShortCut = ""
Class = "TestRxAddInCore.NewProjectCommand"
Icon = "" />
<SplitItem ID = "m_tool_cursor_double"
Label = "双光标"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem ID = "m_tool_cursor_four"
Label = "四光标"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem ID = "m_tool_cursor_xie"
Label = "谐光标"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem Category = "separator"/>
<SplitItem ID = "m_tool_cursor_peak"
Label = "峰值列表"
ShortCut = ""
Icon = ""
Class = ""/>
<SplitItem ID = "m_tool_cursor_sync"
Label = "光标同步"
ShortCut = ""
Icon = ""
Class = ""/>
</ToolbarItem>
</ToolBar>
</Path>
</Module>
效果:
新增功能:(2006-10-11)
1、增加了对脚本的支持。支持的脚本有C#、VB.NET、JScript、J#。对于脚本采用预编译机制。
2、脚本与脚本之间可以存在依赖关系。
需要源代码的请留下邮箱
相关文章推荐
- 一个C#编写的snmp程序,可使网络管理人员进行参考、开发-A C# Prepared snmp procedures, will enable network managers to carry o
- c#动态编译,自己做了个c#脚本管理框架,可以作为其他应用的插件使用。增强程序的拓展性
- CSharp make plugin(Addin) program C# 编写基于插件的程序
- 编写一个带管理界面(对话框)的windows后台服务程序
- 编写高质量代码:改善C#程序的157个建议
- 使用NPAPI编写浏览器插件的调用本机上的程序
- C#的winforms程序中的弹出窗口编写方式 一个窗口类
- 编写高质量代码改善C#程序的157个建议——建议12: 重写Equals时也要重写GetHashCode
- 编写高质量代码改善C#程序的157个建议——建议15: 使用dynamic来简化反射实现
- 谷歌chrome 插件(扩展)开发——进阶篇(c#本地程序和插件交互)上
- 使用C#编写的一个定时关机程序
- 谷歌chrome 插件(扩展)开发——进阶篇(c#本地程序和插件交互)下
- 编写高质量代码改善C#程序的157个建议——建议23:避免将List<T>作为自定义集合类的基类
- C# 模仿 IBOX 程序管理 (简易版)
- 编写高质量代码改善C#程序的157个建议——建议34:为泛型参数设定约束
- 由云台协议DLL浅谈插件程序的编写 转
- 编写高质量代码改善C#程序的157个建议——建议36:使用FCL中的委托声明
- C#.NET通用权限管理在DB2数据库上运行的脚本参考 - 通过程序将数据导入到目标数据库中
- 使用soaoffice中间件+asp实例编写小型的企业管理程序(一)
- 《编写高质量代码 改善C#程序的157个建议》 - 书摘精要