текстовое поле возвращает каждый результат - PullRequest
0 голосов
/ 17 марта 2012

У меня есть простая функция:

void licz()
{
    int result = 0;
    for (int i = 0; i < 20; i++)
    {
        wynik = +i;
        textBox1.Text = result.ToString() + Environment.NewLine;               
    }
    MessageBox.Show("Wynik: " + result);
}

И я хочу, textBox1, показывая каждому результат (шаг за шагом). Теперь показывает только что закончить результат, так же, как MessageBox (Wynik: 19).

Ответы [ 5 ]

3 голосов
/ 17 марта 2012

Может, тебе стоит перейти на это?

textBox1.Text += result.ToString() + Environment.NewLine; 
2 голосов
/ 17 марта 2012

Вы переопределяете текст в цикле evry. Попробуйте

textBox1.Text = textBox1.Text + result.ToString() + Environment.NewLine;

или лучше:

textBox1.Text += result.ToString() + Environment.NewLine;
2 голосов
/ 17 марта 2012

Объединить текущую строку с результатом предыдущей итерации:

textBox1.Text += result.ToString() + Environment.NewLine;

или

textBox1.Text = textBox1.Text + result.ToString() + Environment.NewLine;

... что в основном то же самое. Однако при этом будет напечатано только двадцать нулей.

1 голос
/ 17 марта 2012

Я сделал несколько изменений, чтобы код стал более понятным и, возможно, он решил вашу проблему

void licz()
{
    int result = 0;
    for (int i = 0; i < 20; i++)
    {
        result += i;
        textBox1.Text += result.ToString() + Environment.NewLine;               
    }
    MessageBox.Show("Wynik: " + result);
}
1 голос
/ 17 марта 2012
Текстовое поле

имеет одну строку, если вам нужно более одной строки, вы должны использовать RichTextBox

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