2015-12-30 2 views
0

У меня есть TextBox в моей форме и попытка обернуть содержимое на несколько строк, чтобы он не был отрублен.TextBox: обтекание текста несколькими строками

До сих пор я сделал это,

TextBox myTextBox = new TextBox(); 
myTextBox.Multiline = true; 
myTextBox.WordWrap = true; 

Я пробовал различные комбинации выше, Тьюринга многострочного ложной, а затем WordWrap ложь.

Но ничего не работает.

Я обнаружил, что свойство TextWrapping тоже, но по какой-то причине оно недоступно для моего TextBox, возможно, из-за другой версии .Net.

Есть ли способ обернуть содержимое TextBox на несколько строк?

+2

Это, похоже, не вопрос о C. Возможно, вы имеете в виду 'C# .net' или' C++. Net'. Вы должны повторно задать вопрос. –

+0

Что именно не работает для вас? –

+0

Текст никогда не попадает в несколько строк. Он всегда отображается в одной строке. – don

ответ

2

Какое ваше содержание? Является ли это «понятной для человека» строкой (например, «нормальные» слова и предложения), или это шестнадцатеричная строка и т. Д.?

В зависимости от контента, у вас есть несколько вариантов:

  1. вставить \n после определенного количества символов
  2. В зависимости от вашей структуры (WPF, WinForms и т.д.) используют различные свойства/реализации .. ...
    Если вы используете WPF, попробуйте AcceptReturn="true" TextWrapping="Wrap"
    Если вы используете WinForms, попробуйте вставить некоторые \n -характеры, когда .Multiline := true и .WordWrap := true

ДОПОЛНЕНИЕ: Если вы хотите вставить \n после каждых x символов, я следующий фрагмент кода для вас (который я очень люблю):

using System.Text.RegularExpressions; 

... 

string mystr = "this is my very long text"; 

mystr = Regex.Replace("(.{20})", "$1\n"); 

TextBox1.Text = mystr; // or: TextBox1.Content = mystr; 

Где 20 внутри Regex "(. {20})" ваше количество символов, после чего будет вставлен \n. (это означает, что ваша строка будет иметь новую строку после каждых 20 символов)

Смежные вопросы