Многострочный текст как метка кнопки в Windows Forms

в основном, я создаю кнопку в овальной форме. Но мой ярлык кнопки слишком длинный, чтобы отображать его в одной строке, поэтому я хотел разделить его на несколько строк, чтобы овальная кнопка выглядела хорошо.

Как включить перенос слов на кнопки?

7 ответов


установите текст метки при загрузке формы и добавьте среду.Новая строка как строка новой строки, например:

btnOK.Text = "OK" + Environment.NewLine + "true";

Если вы хотите установить метку кнопки для многострочного текста внутри VS designer, вы можете нажать на "стрелку вниз" справа от поля свойств, а затем вы можете ввести несколько строк текста.

VS text multiline property panel

Я пробовал это в VS 2015.


просто добавьте новую строку в текст в том месте, где она должна разделиться.


попробуйте добавить "\n " в текстовое свойство кнопки в местах, которые вы хотите обернуть.


есть два варианта:

  1. если вы создаете пользовательский элемент управления, поместите на него элемент управления label с помощью . И отрегулировать его размер в соответствии с размером пуговицы.
  2. добавить новую строку, где вы хотите (немного сырой).

вы можете создать пользовательскую кнопку с одним дополнительным свойством (скажем,Label), который преобразует вхождение "\n "в" реальную " новую строку (потому что VS designer не может сделать это уже 10 лет):

public string Label
{
    get { return (string.IsNullOrEmpty(Text) ? Text : Text.Replace("\n", @"\n")); }
    set {
        Text = (string.IsNullOrEmpty(value) ? value : value.Replace(@"\n", "\n"));
    }
}

Как только вы создали такой класс, ваша SuperButton будет видна в Toolbox на странице проекта, поэтому вы не потеряете визуальный способ дизайна.


вам просто нужно вставить разрыв строки (т. е. \n) в текст кнопки.

пример:

Button1.AutoSize = true;

Button1.Text = "This is \n The Button Text";