2014-06-19 71 views
-2

让我解释一下我的程序将如何:如何显示在C#编码制作标签或文本框

1.I有一个TextBox1中,其中用户将输入数字 2.我有一个按钮1,在那里将它从TextBox1中存储的号码转换成int最大

这里的编码

private void button1_Click(object sender, EventArgs e) 
    { 
     Max = int.Parse(textBox1.Text); 
     fun = new TextBox[Max]; 
     for (int i = 0; i < Max; i++) 
     { 
      if (i > 0) 
      { 
       y = y + 26; 
      } 
      fun[i] = new TextBox(); 
      fun[i].Location = new System.Drawing.Point(44, y); 
      fun[i].Text = "Test"; 
     } 
    } 

现在唯一的问题是,它不会出现在所有的,因为我不知道做什么码就出现在形式本身。

+1

该控件必须添加到页面,或在任何其他runat服务器容器元素 – Rex

回答

1

您需要使用Controls.Add()方法在窗体上添加TextBox控件fun[i](在运行时创建)。

试试这个:

this.Controls.Add(fun[i]); 

完整代码:

private void button1_Click(object sender, EventArgs e) 
    { 
     Max = int.Parse(textBox1.Text); 
     fun = new TextBox[Max]; 
     for (int i = 0; i < Max; i++) 
     { 
      if (i > 0) 
      { 
       y = y + 26; 
      } 
      fun[i] = new TextBox(); 
      fun[i].Location = new System.Drawing.Point(44, y); 
      fun[i].Text = "Test"; 
      this.Controls.Add(fun[i]); 
     } 
    } 
+0

我应该在哪里添加?在按钮编码或外部它? – user3756720

+0

@ user3756720:你需要在'fun [i] .Text ='Test';'forloop'语句后立即添加,检查我编辑过的帖子。 –

1

如果我理解正确的话,你要动态地创建控件和形式来显示呢?看起来你的代码没问题,你需要将控件添加到窗体以在窗体中显示它。此代码可能会帮助你。

int y = 26; 
var Max = int.Parse(textBox1.Text); 
var fun = new TextBox[Max]; 
for (int i = 0; i < Max; i++) 
{ 
    if (i > 0) 
    { 
     y += 26; 
    } 
    fun[i] = new TextBox(); 
    fun[i].Location = new System.Drawing.Point(44, y); 
    fun[i].Text = "Test"; 

    Controls.Add(fun[i]); 
} 
相关问题