Текстовая кнопка на панели инструментов - PullRequest
4 голосов
/ 31 июля 2011

Я хочу добавить текстовую кнопку на панель инструментов WinForms (стандартная кнопка на панели инструментов может содержать только изображение).

Текстовое поле, поле со списком может быть легко добавлено на панель инструментов, но нетопция для текстовой кнопки.

Как этого достичь?

UPD Под «текстовой кнопкой» я подразумеваю стандартную кнопку Windows.

Ответы [ 3 ]

3 голосов
/ 14 декабря 2015

Установить ToolStripItem.DisplayStyle в Текст :

var toolStripButton = new ToolStripButton();
toolStripButton.DisplayStyle = ToolStripItemDisplayStyle.Text;
2 голосов
/ 31 июля 2011

Вы можете использовать ToolStripControlHost для встраивания любого элемента управления в вашу панель инструментов:

Button button = new Button();
button.Text = "Standard Windows Button";
yourToolStrip.Items.Add(new ToolStripControlHost(button));
2 голосов
/ 31 июля 2011

Полагаю, вы подразумеваете под 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);

Редактировать:

выглядит как пункт меню (метка, которая выделяется при наведении курсора мыши), а не стандартная кнопка.

К сожалению, это то, что Microsoft предоставила. если вам не нравится, унаследуйте ToolStripItem и создайте свой собственный.

Также обратите внимание, что вы можете использовать toolButton.BackgroundImage, но это также не даст вам того же эффекта, что будет делать обычный Button.

...