Как использовать мультилинии в текстовом поле - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть калькулятор, и я хочу, чтобы в моем текстовом поле было ровно 3 строки. Первая строка будет номер A, второй оператор и третья будет номер 2. Теперь я использую только одну строку для моего приложения. Может кто-нибудь показать мне, как это сделать? И мне также нужно знать, как ОЧИСТИТЬ ТОЛЬКО первую строку для примера и как ДОБАВИТЬ НОВЫЙ ТЕКСТ для примера для второй строки без изменения других строк.

Ответы [ 4 ]

2 голосов
/ 19 апреля 2011

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

Конечно, точный способ сделать это зависит от того, используете ли вы silverlight, WPF, Windows Forms или Asp.net.

Но для Silverlight или WPF вы бы сделали что-то вроде этого:

<StackPanel>
    <TextBox x:Name="Number1" BorderThickness="0" />
    <TextBox x:Name="Operator" BorderThickness="0" />
    <TextBox x:Name="Number2" BorderThickness="0" />
</StackPanel>

Установка BorderThickness на 0 эффективно удаляет границы из текстовых полей. Вы также можете установить FontSize на более крупный шрифт и установить HorizontalAlinment = "Right" для типичного стиля калькулятора.

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

0 голосов
/ 19 апреля 2011

Почему вы не используете многострочное текстовое поле (Textarea)? В вашем приложении храните массив строк для отдельных строк. При отображении объединить массив и установить текст в текстовой области.

0 голосов
/ 19 апреля 2011

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

С технической стороны, чтобы создать многострочное текстовое поле, необходимо установить для его свойства MultiLine значение true.И затем вы можете разбить текст на строки, используя Environment.NewLine:

textBox.Text = "1" + Environment.NewLine + "+" + Environment.NewLine + "3";
0 голосов
/ 19 апреля 2011

Из коробки вы можете создать многострочное текстовое поле, установив для Multiline значение true, но не для текстового поля с тремя строками. Если вам нужно текстовое поле с тремя строками, я думаю, вам нужно разработать собственный элемент управления самостоятельно.

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