您的位置:首页 > 编程语言 > C#

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中可以有多个功能(类)),系统会自动反射出来,以增加功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: