Добавить интервал в результаты текстового поля - PullRequest
0 голосов
/ 29 апреля 2011

Привет, у меня есть следующий код-

        richTextBox1.Text = richTextBox1.Text + action + "ok: " + ok.ToString();
        richTextBox1.Text = richTextBox1.Text + "err: " + err.ToString();
        richTextBox1.Text = richTextBox1.Text + "\r\n";
        textBox1.Text = textBox1.Text;

Результаты выглядят как -

хорошо: 7err: 0

Но я хочу-

хорошо: 7

ERR: 0

С пробелами, чтобы он выглядел лучше, как я могу это сделать?

Ответы [ 3 ]

3 голосов
/ 29 апреля 2011

Вы можете добавить еще 2 строки:

richTextBox1.Text += Environment.NewLine;
richTextBox1.Text += Environment.NewLine;

между вашими "ok" и "err" - при условии, что вы хотите пустую строку между двумя строками вывода. Однако вы должны либо использовать string.Format, либо StringBuilder, чтобы создать свой вывод как объединяющие строки, таким образом, неэффективно.

Вам также не нужен финал:

textBox1.Text = textBox1.Text;

, поскольку это просто возвращает текстовое поле обратно к себе и ничего не делает.

1 голос
/ 29 апреля 2011

Во-первых, вы можете сделать все это одним оператором, во-вторых, вместо этого вы можете использовать оператор + =, и в-третьих, что делает этот последний оператор ?! это не нужно, четвертое добавьте «\ n» после каждой нужной вам части, нет предела, где вы должны поместить его, не нужно «\ r».

1 голос
/ 29 апреля 2011

Вы уже получили свой ответ, просто он не в том месте!Ключ должен использовать escape-последовательность \r\n, которая вставляет возврат каретки и новую строку.

Кроме того, нет причин разбивать этот код на несколько строк.В результате вы получаете штраф за производительность.Лучше выполнять всю последовательность строк одновременно.(Здесь недостаточно конкатенаций, чтобы оправдать использование класса StringBuilder, но стоит помнить, что строки неизменны в .NET и, соответственно, писать код.)

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

textBox1.Text = textBox1.Text + action + "ok: " + ok.ToString(); + "\r\n" +
                "err: " + err.ToString(); + "\r\n";

Вы также можете полностью исключить последнюю строку кода, поскольку она просто устанавливает значение textBox1.Text для себя.Это неоперация, то есть она вообще ничего не делает.

...