实现动态控制ToolStrip上ToolStripButton的大小
来源:互联网 发布:starstail mac 破解版 编辑:程序博客网 时间:2024/05/01 15:02
1. 显示文字标签/无文字标签
类似于IE上面的工具栏,比如下图,后退就是带文字标签的,主页就是不带文字标签的。
2. 使用大图标/小图标
我在追加的菜单事件中写控制ToolStrip的ImageScalingSize属性的代码:
private void tsmiLargeIcon_Click(object sender, EventArgs e)
{
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32);
}
运行后根本不起作用,无意中发现,如果按下【Alt】键就会起作用。于是想在代码中添加
SendKeys.Send("%");
但这不是解决问题的根本办法,而且上面这一句模拟【Alt】键按下代码还得写两遍,因为如果只写一遍的话,菜单的第一项就被选中了,这当然是行的。如果这样能解决问题也可以,但是我发现,当先不显示文字标签,然后再变大小,即便写上【SendKeys.Send(“%”);】也不管用了,还得想其他办法。
后来在事件中添加改变ToolStripButton大小的代码也不起作用,后来发现,ToolStripButton的【AutoSize】属性默认是【true】的,于是修改菜单的单击事件如下:
/// <summary>
/// 大图标单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiLargeIcon_Click(object sender, EventArgs e)
{
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32);
this.toolStrip1.Height = 32;
foreach (ToolStripItem tsmi in this.toolStrip1.Items)
{
if (tsmi is ToolStripButton)
{
tsmi.AutoSize = false;
tsmi.Height = 32;
tsmi.Width = 32;
tsmi.AutoSize = true;
}
}
}
/// <summary>
/// 小图标单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tsmiSmallIcon_Click(object sender, EventArgs e)
{
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(16, 16);
this.toolStrip1.Height = 23;
foreach (ToolStripItem tsmi in this.toolStrip1.Items)
{
if (tsmi is ToolStripButton)
{
tsmi.AutoSize = false;
tsmi.Height = 16;
tsmi.Width = 16;
tsmi.AutoSize = true;
}
}
}
运行之后成功了,之所以在改变工具按钮前将【AutoSize】设为【false】,是因为只有设置此项,才能改变ToolStripButton的大小。最后又将【AutoSize】设为【true】是因为,如果不设为【true】文字标签将无法正常显示,大图标时文字标签将因为显示区域的问题而看不到。
效果如下:
- 实现动态控制ToolStrip上ToolStripButton的大小
- 动态控制ToolStrip上ToolStripButton的大小(包括图标的大小)
- ToolStrip和ToolStripButton的用法
- c# 如何改变ToolStrip的大小,并向ToolStripButton加载合适大小的Image
- 调整ToolStrip和ToolStripButton的Size属性
- toolStrip 困扰的问题|按钮大小不能修改|图片大小不能修改|toolStrip问题解决
- toolStripButton调整大小并只显示text
- Struts动态控制表格大小
- 动态控制控件大小
- android动态控制组件的位置、大小和新的动画
- 利用shiro实现权限的动态控制
- android中用java代码动态控制activity的大小,位置,透明度
- ToolStrip如何实现拖动
- MDI窗体的工具栏合并(ToolStrip Merging)的功能实现
- MDI窗体的工具栏合并(ToolStrip Merging)的功能实现
- MDI窗体的工具栏合并(ToolStrip Merging)的功能实现
- ToolStrip
- ToolStrip
- Java 关键字 Strictfp
- 科技行业众巨头哀悼史蒂夫乔布斯
- C语言类型修饰符 在这个上边吃大亏了啊 volatile
- GetRegisterAsBrowser CHtmlView::GetRegisterAsBrowser
- 乔布斯生前秘密计划曝光 苹果大学密谋复制教主
- 实现动态控制ToolStrip上ToolStripButton的大小
- 新浪微博旗下“看点网”曝光 处内测阶段
- JDK环境变量设置
- 贝叶斯理论简介
- 新浪微博会不会被关闭?
- Qt-----托盘功能
- 叉乘求任意多边形(凹凸皆可)面积 (属于计算几何类型)
- 新浪公布微博处罚条例 多次违规帐号或可被封杀
- hdu 2642stars(二维树状数组)