C#实现界面与功能的分离:Ribbon界面
2012-06-15 19:37
573 查看
以前写程序,在MainWindow里面到处都是菜单、按钮、工具栏的事件,这个文档的内容特别长,找一个功能对应的代码太多,很不方便,最近看了一些Sharpdevelop的插件方式(主要是网上其他朋友的据介绍,还有那本由该软件开发者所编写的书,不过只看了一部分),自己写了一个功能有限、很简单的框架(暂且称之为框架吧,对我自己来讲已经比以前方便了很多了),我使用了ribbon界面,是Developer Express v2011 vol 1 ,是使用他带的你个向导生成的,然后在此基础上改的: 见图:
如果要增加一个功能,只需要写一个类继承于:AbstractToolButton,然后覆写几个字段和一个函数:详见下方的代码:
public class Test:AbstractToolButton
{
private Image image = null;
public override int Index
{
get
{
return 0;
}
set
{
base.Index = value;
}
}
public override bool Enable
{
get
{
return true;
}
}
public override string PageName
{
get
{
return "MyTest";
}
}
public override string GroupName
{
get
{
return "File";
}
}
public override string Caption
{
get
{
return "Test0";
}
set
{
base.Text = value;
}
}
public override System.Drawing.Image Image
{
get
{
if (this.image == null)
{
return Image.FromFile("0002.ICO");
}
else
{
return this.image;
}
}
//set
//{
// this.image = value;
//}
}
public override void Run()
{
MessageBox.Show("This is My ToolButton Test!--------------@");
}
}
在以上代码中包含了该按钮是否可用,这在权限判断中很有用(在这里我直接返回了真,在系统中根据需要返回真假即可),在Run函数中,增加要执行的功能就可以了。
在上面 图中,我增加了一个Page和2个Group ,如果你要生成的Page和Group的名字在系统中没有,就会自动生成,图标也是在这个类中指定。将这样的类编译成DLL放在目录中(一个DLL中可以有多个功能(类)),系统会自动反射出来,以增加功能。
如果要增加一个功能,只需要写一个类继承于:AbstractToolButton,然后覆写几个字段和一个函数:详见下方的代码:
public class Test:AbstractToolButton
{
private Image image = null;
public override int Index
{
get
{
return 0;
}
set
{
base.Index = value;
}
}
public override bool Enable
{
get
{
return true;
}
}
public override string PageName
{
get
{
return "MyTest";
}
}
public override string GroupName
{
get
{
return "File";
}
}
public override string Caption
{
get
{
return "Test0";
}
set
{
base.Text = value;
}
}
public override System.Drawing.Image Image
{
get
{
if (this.image == null)
{
return Image.FromFile("0002.ICO");
}
else
{
return this.image;
}
}
//set
//{
// this.image = value;
//}
}
public override void Run()
{
MessageBox.Show("This is My ToolButton Test!--------------@");
}
}
在以上代码中包含了该按钮是否可用,这在权限判断中很有用(在这里我直接返回了真,在系统中根据需要返回真假即可),在Run函数中,增加要执行的功能就可以了。
在上面 图中,我增加了一个Page和2个Group ,如果你要生成的Page和Group的名字在系统中没有,就会自动生成,图标也是在这个类中指定。将这样的类编译成DLL放在目录中(一个DLL中可以有多个功能(类)),系统会自动反射出来,以增加功能。
相关文章推荐
- C# 优化基于插件的开发框架实现Ribbon界面与功能的分离附DEMO
- C# 基于插件的开发框架实现Ribbon界面与功能的分离附DEMO
- C#实现多线程时如何将底层服务与界面表现分离?
- 使用C#语言实现的查询条件界面展开和收起功能
- 使用 acl 库 rpc 功能类实现 阻塞任务过程与MFC 界面过程分离
- 用c#连接SQL实现登陆界面功能
- 接口实现分离(漫谈C#和swift的部分实现拓展功能)
- WPF学习——制作一个简单的录入界面(2):用C#编程实现所有控件的功能
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示 很多程序是只需要后台运行的,甚至不需要自己的应用界面。NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下
- VB6实现界面与功能代码分离
- Asp.net(C#)实现验证码功能
- Asp.net 2.0 C#实现压缩/解压功能 (示例代码下载)
- 安卓经典功能组件篇1——实现界面的异步刷新
- 【Android界面实现】整合了刷新、加载更多、滑动删除功能的XListview
- 【c#功能实现】PDF与html的比较【很多例子】
- C# 实现百度搜索框智能提示功能
- C#实现百度站长工具的主动推送功能
- 用C#代码实现类似QQ窗体的“上、左、右”停靠功能【转】
- C#实现按键精灵的'找图' '找色' '找字'的功能
- C#语言实现ArcGIS数据源重置之Set Data Source功能