用过的人都知道在设定RibbonControl的ApplictionIcon后,只是按钮的图标变了,但按钮的背景图片仍然存在,因为ApplicationButton的背景图是根据你当前选用的皮肤样式来的,并不能通过设定ApplictionIcon来改变,这就导致你的图标风格可能和按钮背景图不搭调了,怎么解决呢,总不能为了个按钮背景去重新修改皮肤吧?
有两个解决方法:
1、在Office 2007 Ribbon样式中的ApplicationButton按钮大小是44x42像素,应用程序按钮中的圆圈大小为36x36像素,而在Office 2010 Ribbon样式中,指定图像的大小应为16x16,你可以制作指定大小的图片来完全覆盖住按钮的背景色
2、利用代码来修改局部皮肤的图片样式,代码如下:
[C#] 纯文本查看 复制代码 protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
var skin = DevExpress.Skins.RibbonSkins.GetSkin(DevExpress.LookAndFeel.UserLookAndFeel.Default);
DevExpress.Skins.SkinElement elem = skin[DevExpress.Skins.RibbonSkins.SkinFormApplicationButton];
elem.Image.SetImage((Image)null, Color.Empty);
elem.Size.MinSize = new System.Drawing.Size(44, 42);
}
以上代码是去除了ApplicationButton按钮的背景图,如果想设置成其它的图片修改其中的NewImage为你当前的背景图片
[C#] 纯文本查看 复制代码 elem.Image.SetImage(NewImage, Color.Empty);
是不是你想要的效果?
|