动态控制ToolStrip上ToolStripButton的图标大小
一 设置固定大小的ToolStripButton
设置固定大小的ToolStripButton很简单,ToolStripButton-->AutoSize属性设置为false,size调整为自己想要的大小即可。
同时配合的是ToolStripButton所在的ToolStrip的属性设置,最关键的是ImageScalingSize 属性的设置:
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32); //设置图标的大小为32 * 32 像素,当然,可以设置为自己需要的大小
下图给出的例子是50 * 50:
二 实现动态控制ToolStrip上ToolStripButton的大小
我在追加的菜单事件中写控制ToolStrip的ImageScalingSize属性的代码:
/// <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);// 设置为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的大小。