我想在WinForms工具栏上添加一个文本按钮(工具栏上的标准按钮只能包含图像)。
文本框,组合框可以轻松添加到工具栏上,但没有文本按钮选项。
如何实现?
UPD “文字按钮”是指标准的Windows按钮。
答案 0 :(得分:3)
将ToolStripItem.DisplayStyle设为Text:
var toolStripButton = new ToolStripButton();
toolStripButton.DisplayStyle = ToolStripItemDisplayStyle.Text;
答案 1 :(得分:2)
我假设您的意思是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
相同的效果。
答案 2 :(得分:2)
您可以使用ToolStripControlHost在工具条中嵌入任何控件:
Button button = new Button();
button.Text = "Standard Windows Button";
yourToolStrip.Items.Add(new ToolStripControlHost(button));