C#问题,急!~

axzs7878 2010-09-16 09:32:16
问一个比较笨的问题,本人刚学C#不久。。望高手们指点下! 小弟先在这谢过了!

问题如下:
动态创建控件,比如说

TextBox txtName;
private void DataBook_Load(object sender, EventArgs e)
{
int j=0;
for (int i = 0; i < 4 i++)
{
txtName=new TextBox();
this.txtName.Location=new Point(50,j+50)
this.groupBox2.Controls.AddRange(new Control[] { this.lbName, this.txtName });
j+=50;
}
}

private void btnAdd_Click(object sender, EventArgs e)
{
MessageBox.Show(txtName.Text);
}

在上面创建的3个文本框,在3个文本框里,我只取到了最后一个文本框输入的值! 有什么办法解决能取到三个文本框的值吗?
...全文
156 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wulg10 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ajq1989 的回复:]

C# code


private void DataBook_Load(object sender, EventArgs e)
{
int j=0;
for (int i = 0; i < 4 i++)
{
TextBox txtName =new TextBox();
txtName.Name ="txtName"+i;
this.txtName.Locatio……
[/Quote]

或者

private void btnAdd_Click(object sender, EventArgs e)
{
for (Control c in this.Controls)
{
if(c is TextBox)
{
MessageBox.Show(c.Text);
}
}
}


axzs7878 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 caozhy 的回复:]
TextBox[4] txtName;
写错了。
[/Quote]
感谢您的回答。。。。非常感谢! 结贴了!
axzs7878 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ajq1989 的回复:]
C# code


private void DataBook_Load(object sender, EventArgs e)
{
int j=0;
for (int i = 0; i < 4 i++)
{
TextBox txtName =new TextBox();
txtName.Name ="txtName"+i;
this.txtName……
[/Quote]

在按钮事件里调不到txtName的!。。。感谢你的回答!
ajq1989 2010-09-16
  • 打赏
  • 举报
回复


private void DataBook_Load(object sender, EventArgs e)
{
int j=0;
for (int i = 0; i < 4 i++)
{
TextBox txtName =new TextBox();
txtName.Name ="txtName"+i;
this.txtName.Location=new Point(50,j+50)
this.groupBox2.Controls.AddRange(new Control[] { this.lbName, this.txtName });
j+=50;
}
}
private void btnAdd_Click(object sender, EventArgs e)
{
for (int i = 0; i < 4; i++)
MessageBox.Show(txtName[i].Text);
}

threenewbee 2010-09-16
  • 打赏
  • 举报
回复
TextBox[] txtName = new TextBox[4];
threenewbee 2010-09-16
  • 打赏
  • 举报
回复
TextBox[4] txtName;
写错了。
axzs7878 2010-09-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 caozhy 的回复:]
TextBox txtName[4];
private void DataBook_Load(object sender, EventArgs e)
{
int j = 0;
for (int i = 0; i < 4 i++)
{
txtName[i] = new TextBox();
txtName[i].Location = new Point(50……
[/Quote]
在TextBox txtName[4]报了一个错
ym_pang_pang 2010-09-16
  • 打赏
  • 举报
回复
不懂帮顶
threenewbee 2010-09-16
  • 打赏
  • 举报
回复
当然,我主张你使用Repeater控件或者Grid控件,在实际使用中。
threenewbee 2010-09-16
  • 打赏
  • 举报
回复
TextBox txtName[4];
private void DataBook_Load(object sender, EventArgs e)
{
int j = 0;
for (int i = 0; i < 4 i++)
{
txtName[i] = new TextBox();
txtName[i].Location = new Point(50, j + 50)
this.groupBox2.Controls.AddRange(new Control[] { this.lbName, txtName[i] });
j += 50;
}
}

private void btnAdd_Click(object sender, EventArgs e)
{
for (int i = 0; i < 4; i++)
MessageBox.Show(txtName[i].Text);
}
huangmin3956 2010-09-16
  • 打赏
  • 举报
回复
前 台 代码

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧