0

私のフォームは次のようになります。

ここに画像の説明を入力

ご覧のとおり、たくさんのテキストボックスがあります。すべてのテキストボックスが空、null、または数字のみを含むかどうかを確認するためのループを作成しました。

今私がやりたいことは、乱数を生成し、それらをすべての空のテキストボックスに配置することです(ユーザーがテキストボックスに数字を入力するのと同じように)。どうすればこの結果を達成できますか?

4

5 に答える 5

4

Random乱数を生成するのに役立ちます:

var random = new Random();
var emptyTextBoxes = Controls.OfType<TextBox>()
                             .Where(txt => txt.Text.Length == 0);
foreach (var txt in emptyTextBoxes)
    txt.Text = random.Next(1, 1000).ToString();
于 2012-07-05T22:27:49.390 に答える
1

すべてのテキスト ボックスを反復できるループが既に配置されているようです。そのループの本体に、次のようなものを追加します

Random rnd = new Random();

// Do you loop here

    if (string.IsNullOrEmpty(textBox.Text))
        textBox.Text = rnd.Next(10, 99).ToString(); // If you want numbers from 10 to 99

// End of your loop

なんらかの理由でテキスト ボックスに常に同じ値が必要な場合は、Random(int seed)コンストラクターを使用してシードを Random に指定できます。

于 2012-07-05T22:24:51.247 に答える
1
  1. 乱数を生成します。これを実現するには、Math.Random を別の数学演算と共に使用します。必要な数値の種類によって異なります (整数、正数、最大 100 など)。
  2. Textboxの場合、コントロールごとに Form.Controls テストでループします。そして、これらのケースでは、それらをキャストして ((Textbox)control).Text = randomNumber のように値を設定します。

        int randomNumber;
        foreach (Control control in this.Controls)
        {
            randomNumber = //your randomMagic
    
            if (control is TextBox)
            {
                ((TextBox)control).Text = randomNumber;
            }
        }
    

お役に立てれば

于 2012-07-05T22:25:25.423 に答える
1
       Random r = new Random();
       foreach (var ctrl in Controls)
       {
           var txtBoxCtrl = ctrl as TextBox;
           if (txtBoxCtrl != null)
           {
               if (string.IsNullOrEmpty(txtBoxCtrl.Text))
                   txtBoxCtrl.Text = r.Next().ToString();
           }
       }
于 2012-07-05T22:26:53.990 に答える
0
private void Form1_Load(object sender, EventArgs e)
{
    Random random = new Random();
    foreach (Control c in this.Controls)
    {
        if(c.GetType().Name == "TextBox")
        {
            c.Text = random.Next().ToString();
        }
    }
}
于 2012-07-05T22:34:30.737 に答える