1

ボタンといくつかの TextBox を含む単純な FormApplication スクリプトがあります。ボタンをクリックすると、1つのテキストボックスにいくつかの数字が表示されます。どうすればそれをダイナミックにすることができますか。

private void button1_Click(object sender, EventArgs e)
{
     txt3.Text = "";
     for (int i = 0; i <50; i++)
     {
         Random random = new Random();
         int randomNumber = random.Next(100, 150);
         txt3.Text = randomNumber.ToString();
     }
}

ループが終了するのを待って、最新の番号を表示します。TextBoxのループ中に各番号を個別に表示したい。Dynamic TextBox を使用するのは少し難しいようですが、この数値をメインフォームに表示する他の解決策はありますか? よろしく、

4

6 に答える 6

0

パネルを追加してから、それにテキストボックスを追加できます

  Random random = new Random();
     for (int i = 0; i <50; i++)
     {
         TextBox t=new TextBox();
         int randomNumber = random.Next(100, 150);
         t.Text = randomNumber.ToString();
    panel.Controls.Add(t);
     }
于 2013-08-29T12:37:53.453 に答える
0

テキスト ボックスに各数値を表示する場合は、button1_Click 内にあるコードを実行する追加のスレッドが必要になります。現在の実装では、コンテンツの実行中に GUI がフリーズします。ただし、非常に高速であるため、それに気付かないでしょう。追加スレッドから、txt3 を設定して GUI スレッドと同期するときに、invoke を呼び出します。そして、Thread.Sleep(1000) などを for ループに追加して、数値の変化を確認します。

于 2013-08-29T12:41:53.870 に答える
0

スレッドを分離してそこで数値を計算し、UI を更新する必要があります。これは、計算が終了した後に UI が更新されるためです。

例: BackgroundWorker

于 2013-08-29T12:39:15.847 に答える