使用dotnetbar做出office2007的效果
步骤1:
打开vs2005,新建一个项目。
步骤2:
将DevComponents.DotNetBar2.dll拷贝到debug目录下(当然,不是必须的)。
步骤3:
将dotnetbar中的控件添加到vs2005工具箱中,具体做法是:点击vs上的菜单“工具”下的“选择工具箱项”,然后“浏览“,选择刚才复制到debug目录下的DevComponents.DotNetBar2.dll,确定,这样工具箱下面就新增了一些dotnetbar里面的控件。
步骤4:
首先将一个RibbonControl控件拖动到主窗体上,这时会看到,外面有一个c#的窗体边框,内部是office的风格,这就是传说中的不三不四,哈哈,接下来就将它变成纯粹的office风格窗体。
步骤5:
让Form1继承DevComponents.DotNetBar.Office2007RibbonForm
也就是变成“public partial class Form1 : DevComponents.DotNetBar.Office2007RibbonForm”。
到这里,运行就可以看到想要的风格了。
下面的步骤是添加变换风格功能
步骤6:
右击RibbonControl控件,选择Create Button添加一个按钮buttonItemStyle,将按钮的属性ItemAlignment改为Far,让其躲到最右边。
步骤7
右击刚才添加的button选择 add button,重复此动作,在buttonItemStyle下面添加三个子按钮(我命名为buttonItemBlue,buttonItemBlack,buttonItemSilver),text分别设置为“office 07 blue”,“office 07 black”,“office 07 silver”。
步骤8
为form1添加一个变量
private DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme m_Scheme = DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme.Silver;
步骤9
将一个Command控件拖到窗体上,查看属性-事件,添加其Execute事件command1_Executed,事件中的代码如下:
private void command1_Executed(object sender, EventArgs e)
{
DevComponents.DotNetBar.ICommandSource source = sender as DevComponents.DotNetBar.ICommandSource;
if (source.CommandParameter is string)
{
DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme colorScheme = (DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme)Enum.Parse(typeof(DevComponents.DotNetBar.Rendering.eOffice2007ColorScheme), source.CommandParameter.ToString()); ribbonControl1.Office2007ColorTable = colorScheme;
}
else if (source.CommandParameter is Color)
{
DevComponents.DotNetBar.RibbonPredefinedColorSchemes.ChangeOffice2007ColorTable(this, m_Scheme, (Color)source.CommandParameter);
}
this.Invalidate();
}
步骤10
刚才不是添加了三个按钮吗,现在就为这三个按钮设置属性,查看buttonItemBlue的属性,发现command属性了没?将其command选择为刚才添加的command1,并将其commandParameter属性设为"Blue" ,重复此步骤,为buttonItemBlack和buttonItemSilver设置command属性为command1,commandParameter分别为“Black”和“Silver”。
去掉标题栏
你可以将FormBorderStyle属性设置为None来去掉标题栏,去掉后就没有最大化和最小化按钮了。你可以自己实现相同的功能,在自定义按钮的事件处理程序中设置WindowState属性为Minimized和Maximized就可以了。
DotNetBar里面的控件DockSite我在工具箱里找不到
拖一个DotNetBarManager控件,会自动创建8个docksite
bar的text属性更改不了
1.首先向楼主说的把AutoSyncBarCaption属性设为False
2.在解决方案里面,找到窗体下面的Designer.cs文件打开,这是控件文件好像,不管啦 直接搜索你的bar名字 然后你继续看 向下看 你自己就会明白 找到
// dockContainerItem3
//
this.dockContainerItem3.Control = this.panelDockContainer3;
this.dockContainerItem3.Name = "dockContainerItem3";
this.dockContainerItem3.Text = "dockContainerItem3";//把这里换成你要的text就ok啦