那么,你发现它为什么会在Image属性周围留下空间。您可以通过分配ToolStrip.Renderer属性来自定义按钮的渲染。这可能是这个样子:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
toolStrip1.Renderer = new MyRenderer();
}
private class MyRenderer : ToolStripProfessionalRenderer {
protected override void OnRenderButtonBackground(ToolStripItemRenderEventArgs e) {
if (e.Item.BackgroundImage == null) base.OnRenderButtonBackground(e);
else {
Rectangle bounds = new Rectangle(Point.Empty, e.Item.Size);
e.Graphics.DrawImage(e.Item.BackgroundImage, bounds);
if (e.Item.Pressed) {
// Something...
}
else if (e.Item.Selected) {
// Something...
}
using (Pen pen = new Pen(Color.Black)) {
e.Graphics.DrawRectangle(pen, bounds.X, bounds.Y, bounds.Width - 1, bounds.Height - 1);
}
}
}
}
}
你必须填写// ...东西线和做一些拉伸,使得它明显的是,按下按钮,或者选择的用户。也许用一个粗笔画一个矩形,这取决于你。
哇。惊人。这是新的世界。 :) 非常感谢。这个反应正是我正在寻找的。再次感谢 :) – net 2010-03-23 13:29:15