Devexpress RibbonControl获得内容宽度
页面展示
要实现的效果:
右上角 Logo图片
,始终 保持
在 右上角,如果 宽度不够
的话,就 隐藏
,不能遮挡按钮,而且ribbon中的按钮数量也是动态的
实现思路,
在form的 sizechanged 事件中判断,如果 ribbon中的按钮所占用的宽度 + Logo图片所占用的宽度 > form的宽度,则隐藏右上角的图片,如果form宽度能够显示,就把右上角logo显示出来
实现的难点在如何获得 Ribbon中内容 所占用的宽度
void RefreshLogoShowStatus() { // ribbon中内容所占用的宽度 int ribbonContentWidth = (ribbonPageGroup1 as DevExpress.Utils.VisualEffects.ISupportAdornerElement).Bounds.Width; // Logo图片占用宽度 int logoWidth = 280; // 设置logo图片的显示状态 picAdv.Visible = _ShowAdv && this.Width >= ribbonContentWidth + logoWidth; }
GarsonZhang www.yesdotnet.com
- 在 Form 的 SizeChanged 事件中调用
- 在 Ribbon 中元素显示/隐藏(可能改变Ribbon内容宽度的代码区域) 调用
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post YES开发框架