Возможно ли сделать текст центрированным в richtextbox C # [дубликат]

Интересно, что ни один из ответов на этой странице не упоминает два крайних случая, надеюсь, никто не возражает, если я их добавлю:

Случай с краем # 1: одновременный доступ к Словарю

Родовые словари в .NET не являются потокобезопасными, а иногда могут бросать NullReference или даже (чаще) a KeyNotFoundException при попытке получить доступ к ключу из двух параллельных потоков. Исключение в этом случае является довольно ошибочным.

Случай с краем # 2: небезопасный код

Если код NullReferenceException задан кодом unsafe, вы можете посмотреть на переменные указателя , и проверьте их на IntPtr.Zero или что-то в этом роде. Это одно и то же («исключение нулевого указателя»), но в небезопасном коде переменные часто переводятся в типы значений / массивы и т. Д., И вы ударяете головой о стену, задаваясь вопросом, как тип значения может исключение.

(Еще одна причина для небезопасного использования небезопасного кода, если вам это нужно)

9
задан user488792 5 June 2011 в 14:54
поделиться

4 ответа

Вам придется изменить шрифт на моноширинный шрифт, например Courier. Такое поведение, которое вы показываете, является стандартным для большинства шрифтов, поскольку не все символы имеют одинаковую ширину.

7
ответ дан Fosco 24 August 2018 в 06:43
поделиться
richTextBox1.SelectAll();
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;
richTextBox1.DeselectAll();
0
ответ дан Donald Duck 24 August 2018 в 06:43
поделиться

Вы хотите использовать свойство RichTextBox.SelectionAlignment .

Например, если вы хотите, чтобы весь текстовый блок был центрирован, вы бы сделали:

richTextBox1.SelectAll();
richTextBox1.SelectionAlignment = HorizontalAlignment.Center;

Если вы хотите только часть текстового поля с определенным выравниванием, используйте функцию RichTextBox.Select () для выбора текста, затем установите свойство SelectionAlignment.

27
ответ дан Jason Moore 24 August 2018 в 06:43
поделиться

Если вам не очень нужно использовать богатое текстовое поле, вы можете просто использовать текстовое поле и выбрать выравнивание как

textbox.TextAlign = HorizontalAlignment.Center;/*could be left, right or center*/
2
ответ дан Wilbur Omae 24 August 2018 в 06:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: