Добавить текстовые маркеры в форму C # - PullRequest
8 голосов
/ 24 сентября 2010

Я создаю форму в C # и мне нужно отобразить текст в форме. Мне нужно, чтобы часть текста отображалась в маркированном, неупорядоченном списке. Возможно ли это сделать при использовании метки? Или богатое текстовое поле? Я не использую ASP.NET, и это для настольного приложения.

Мое сообщение должно выглядеть так:

Для продолжения выберите одно из следующих действий:

  • Нажмите ButtonA, чтобы выполнить это действие.
  • Нажмите ButtonB, чтобы выполнить это действие.

Спасибо!

Ответы [ 5 ]

16 голосов
/ 24 сентября 2010

Просто добавив в качестве предложения к OP, я обнаружил, что использование StringBuilder для построения многострочных сообщений помогает мне сохранить форматирование прямым:

StringBuilder messageBuilder = new StringBuilder(200);

messageBuilder.Append("To continue, please select one of the actions below:");
messageBuilder.Append(Environment.NewLine);
messageBuilder.Append(Environment.NewLine);
messageBuilder.Append("\t\u2022 Click Button A to do this action.");
messageBuilder.Append(Environment.NewLine);
messageBuilder.Append("\t\u2022 Click Button B to do this action.");

MessageBox.Show(messageBuilder.ToString());
2 голосов
/ 24 сентября 2010

Если вы посмотрите на карту символов («Пуск»> «Программы»> «Стандартные»> «Системные инструменты»> «Карта символов»), вы можете найти «код» нажатия клавиш для большинства символов.

Для текста Arial,комбинация клавиш «Средняя точка»:

Alt+0183

Чтобы поместить это в текст с помощью Visual Studio, удерживайте нажатой клавишу «Alt», набирая «0183» на цифровой клавиатуре (а не клавиши над алфавитом).pad).

Это должно дать вам "·" в вашем тексте.

Это так же близко, как я пришел.

Обратите внимание, что другие специальные символы (градусы - Alt +0176 °, авторское право - Alt + 0169 © и многие другие) могут быть включены в эту технику.

2 голосов
/ 24 сентября 2010

Вы можете использовать символы ASCII или UniCode и переформатировать строку, чтобы заменить символ маркера на символ форматирования.

Скажем, вы определили свою строку следующим образом:

var myMessage = "To continue please selected one of the actions below: * Click ButtonA to do this action. * Click ButtonB to do this action."

вы могли бы сделать Regex.Replace, который искал звездочки и конвертировал в пули:

var formattedString = Regex.Replace(myMessage, "\*", "\r\n \u2022");

Поскольку строка была определена в одной строке, мы также вставляем новую строку ("\ r \ n").

0 голосов
/ 24 сентября 2010

Вы можете использовать элемент управления WebBrowser.IE:

WebBrowser webBrowser1 = new WebBrowser(); webBrowser1.DocumentText 1 = "<li>Click ButtonA ...</li><li>Click ButtonB ...</li>"

0 голосов
/ 24 сентября 2010

Да, вы можете использовать текст ниже:

const string text = @"To continue please selected one of the actions below:

. Click ButtonA to do this action.
. Click ButtonB to do this action.";
label1.Text = text;

Вы также можете использовать специальные символы для маркера, такие как *.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...