Как я могу написать новую строку в многострочном текстовом поле? - PullRequest
0 голосов
/ 17 января 2019

Мне нужно создать программу, в которой вы сможете ввести минимальное и максимальное значения. Тогда все цифры от мин. до макс. которые даже должны быть показаны в многострочном текстовом поле.

Но когда четное число записывается в текстовое поле, оно всегда перезаписывает число, которое было записано в текстовое поле ранее.

Я пробовал Enviroment.NewLine, а также эту \ r \ n вещь, но, вероятно, использовал ее неправильно.

private void cmdstart_Click(object sender, EventArgs e)
{
    for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
    {
        int a = i % 2;
        if (a == 0)
        {
            textBox3.Text = Convert.ToString(i);
        }
    }
}

В конце концов, предполагается выводить все четные числа из мин. до макс. в многострочном текстовом поле. Каждый номер должен быть в новой строке.

Ответы [ 3 ]

0 голосов
/ 17 января 2019

Это происходит потому, что вы перезаписываете его каждый раз.

Попробуйте следующий код:

textBox3.Text += i.ToString()+Environment.NewLine; 
0 голосов
/ 17 января 2019

Вы можете проверить это самостоятельно, если пишете многострочный текст

Введите:

1

2

3

4

5

6

7

в текстовое поле с помощью конструктора и свойства Text, вы можете видеть, что оно генерирует что-то вроде этого:

текстовое значение:

"1 \ г \ п2 \ г \ n3 \ г \ n4 \ г \ n5 \ г \ n6 \ г \ N7" * * 1 027

Код:

string txt = multiLineTextBox.Text;

Таким образом, если вы добавите \r\n к существующему тексту, он добавит текст в новую строку:

for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
{
    int a = i % 2;
    if (a == 0)
    {
        textBox3.Text = $"{textBox3.Text}{i}\r\n";
        // or using string.Format for older versions
        //textBox3.Text = string.Format("{0}{1}\r\n", textBox3.Text, i);
    }
}
0 голосов
/ 17 января 2019

Убедитесь, что вы установили для свойства Multiline значение true в textBox3.

Вы можете установить его через окно свойств после выбора textbox3 или написать ниже строки в конструкторе формы после завершения initializeComponents.

textBox3.Multiline = true;

Как только это будет сделано, Environment.NewLine или \ r \ n оба должны работать.

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