自定义样式实现菜单和工具栏的分割线
来源:互联网 发布:怎么不自动更新软件 编辑:程序博客网 时间:2024/05/16 05:30
转自:http://www.2cto.com/kf/201009/75123.html
在做WinForm界面布局时,菜单和工具栏必不可少!但是MenuStrip和ToolStrip不能够对边框的样式直接设置,如果想实现菜单和工具栏之间的分割线就不容易实现;今天查阅了一下msdn找到了一个方法,和大家一块分享,如果有更好的办法的话可以贴出来,共同进步;
首先,创建一个CustomProfessionalRenderer类(类名可随便定义)继承自ToolStripProfessionalRenderer。代码如下:
/// <summary> /// 自定义菜单工具栏样式 /// </summary> class CustomProfessionalRenderer : ToolStripProfessionalRenderer { //重载ToolStripProfessionalRenderer类的OnRenderToolStripBorder方法 protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { base.OnRenderToolStripBorder(e); ControlPaint.DrawBorder( e.Graphics, e.AffectedBounds, SystemColors.ControlDarkDark, 0, ButtonBorderStyle.None, SystemColors.Control, 1, ButtonBorderStyle.Solid, SystemColors.ControlDarkDark, 0, ButtonBorderStyle.None, SystemColors.ControlDark, 0, ButtonBorderStyle.None); } }
然后,通过设置MenuStrip或ToolStrip的Renderer属性就ok了。代码如下:
private void MainForm_Load(object sender, EventArgs e){ this.toolStrip1.Renderer = new CustomProfessionalRenderer();}
最后,需要注意的是如果设置MenuStrip的边框的话,效果不是很好,因为子菜单的边框和控件的主边框都会使用该样式绘制;这样会造成重复,因此建议设置ToolStrip的样式!
- 自定义样式实现菜单和工具栏的分割线
- 自定义的分割线
- 自定义Office 97的菜单和工具栏
- iOS-UITableView 右侧箭头+取消分割线+取消选中样式+自定义分割线(原生和自定义cell)
- RecyclerView自定义分割线实现
- EasyUI自定义边框分割线样式
- EasyUI自定义边框分割线样式
- Android RecyclerView 详解(四) RecyclerView分割线的使用和分割线样式
- Android自定义分割线_水平及垂直分割线的两种实现方法
- 自定义ListView的分割线
- 自定义recycler的分割线
- RecyclerView的自定义分割线
- RecyclerView的自定义分割线
- 自定义ArrayAdapter实现listview分割线的多种颜色
- 使用ItemDecoration自定义RecyclerView的分割线实现头布局
- 去除菜单栏和工具栏之间的分割线--去除客户区边框
- ListView取消和自定义分割线的方法
- UITableView 隐藏多余的分割线和实现分割线左边顶格的效果
- 电子商务行业将迎来大洗牌 淘宝小卖家该何去何从?
- 应对图片链接不能“复制”
- unity 3d 射击游戏 (一)场景和飞机
- Chrome常用插件
- 网站防止用户非法注销
- 自定义样式实现菜单和工具栏的分割线
- org.apache.commons.lang.StringUtils
- JAVA线程学习笔记(一)
- Java之美之XML的打包与解析
- python资源
- (九)sping之合并hibernate配置
- Linux Ftp 配置
- 数据库里用了mysql关键字报错
- HDU 3449 Consumer(依赖背包)