我想在WinForms工具栏上添加一个文本按钮(标准工具栏上的按钮只能包含图像)。
文本框、组合框可以很容易地添加到工具栏上,但没有文本按钮选项。
如何实现?
更新 我指的是标准的Windows按钮。
将ToolStripItem.DisplayStyle设置为Text:
var toolStripButton = new ToolStripButton();
toolStripButton.DisplayStyle = ToolStripItemDisplayStyle.Text;
我假设你所说的text button
是指不仅包含图像而且还包含文本的按钮。所以:
ToolBar toolbar = new ToolBar();
Button button = new Button();
button.Text = "Hi!";
button.Image = Image.FromFile("Your image path");//or from resource..
toolbar.Add(button);
this.Controls.Add(toolbar);
编辑:由于您意思是 ToolStrip
,您可以这样做:
string text = "Hi";
Image image = Image.FromFile("Your image path");
ToolStripButton toolButton = new ToolStripButton(text, image);
toolButton.TextImageRelation = TextImageRelation.Overlay;//or what ever you want to
toolStrip1.Items.Add(toolButton);
编辑:
看起来像是菜单项(鼠标悬停时高亮显示的标签),而不是标准按钮。
不幸的是,这是微软提供的内容。如果您不喜欢它,请继承ToolStripItem
并设计自己的按钮。
还要注意,您可以使用toolButton.BackgroundImage
,但它也无法给您带来普通Button
的效果。
Button button = new Button();
button.Text = "Standard Windows Button";
yourToolStrip.Items.Add(new ToolStripControlHost(button));
Add
方法需要ToolBarButton
,而不是Button
。此外,ToolBar
已经相当过时了,ToolStrip
已经取代了它,而ToolStrip
也没有一个简单按钮的方法。 - Centrotoolbar.Controls.Add(button)
。 - Jalal Said