2016-09-04 6 views
0

GPAを計算するためにWindowsアプリケーションを作成しようとしています。ユーザは被験者の数を入力することができ、アプリは被験者の数だけテキストボックスを作成する。しかし、私はテキストボックスから値を取得することはできません。これは私がdynamicllyからテキストを取得するtexbox

private void button1_Click(object sender, EventArgs e) 
    { 
     for (int i = 0; i < int.Parse(textBox1.Text); i++) 
     { 
      Label supjects = new Label(); 
      supjects.Text = "supject " + (i+1) ; 
      supjects.Location = new System.Drawing.Point(60, 70+i*41); 
      supjects.Name = "supject" + i; 
      this.Controls.Add(supjects); 

      TextBox fullMark = new TextBox(); 
      fullMark.Location = new System.Drawing.Point(162, 70 + i * 41); 
      fullMark.Size=new System.Drawing.Size(57, 24); 
      fullMark.Name = "fullMark" + i; 
      this.Controls.Add(fullMark); 

      TextBox yourMark = new TextBox(); 
      yourMark.Location = new System.Drawing.Point(272, 70 + i * 41); 
      yourMark.Size = new System.Drawing.Size(57, 24); 
      yourMark.Name = "yourMark" + i; 
      this.Controls.Add(yourMark); 


     } 
+0

ありがとうございますが、私にそのコードを送信できますか? @ L.B –

答えて

0

Dictionary<string, TextBox> textBoxes = new Dictionary<string, TextBox>(); 

のような辞書を宣言し、それをループであなたのテキストボックスを追加しようとしているコードです。今、あなたはYourMarkを見つけるために

var text = textBoxes["yourMark2"].Text 
+0

あなたはこの行の(あなたのマーク)であることを解消することができます textBoxes.Add( "yourMark" + i、yourMark); –

0
for (int i = 0; i < int.Parse(textBox1.Text); i++) 
    { 
     Label l = this.Controls.Find("supject" + i,true)[0] as Label; 
     l.Text = "yes"; 
     //whatever 
    } 

のようにそれを使用することができ、それは(真の "YourMark"、) ラベルL = this.Controls.Findだ

textBoxes.Add("yourMark" + i, yourMark); 

[0]ラベルとして;

関連する問題