c#,.net 对多个textBox进行循环赋值时使用这个方法,但是不能赋值在一些控件容器里的textbox

2024-12-19 19:34:27
推荐回答(5个)
回答1:

这个真没有,估计楼下两位看错了——人家是将所有的textbox的text都赋值为'qq',而不是将某个ID的textbox赋值。

目前好象只有迭代方式实现,还没有能在后台一次取完的!

但是,如果是这样的话,还真有办法处理:问题在就在于继承上!

public class DefinedTextBox :TextBox
{
public DefinedTextBox()
{
this.Text = "qq";
}
//other code in here;
}
然后每一人TextBox不再使用TextBox,而是使用DefinedTextBox,在生成时就全部会生成这个!

当然,直接使用属性改造也是可以的!

除此之外,我也要学习!不过据我知,除了迭代没有其他的方法的!就算使用lambda表达式,虽然代码上没有了循环,其实生成后还是存在迭代的。

回答2:

//给你演示如何获取全部控件,包括容器里面的
private List AllControls = new List();
private void  FindControls(Control container)
{
    foreach (Control c in container.Controls)
    {
        AllControls.Add(c);
        if (c.HasChildren)
        {
            FindControls(c);
        }
    }
}
private void button1_Click(object sender, EventArgs e)
{
    FindControls(this);
    foreach (Control c in AllControls)
    {
        MessageBox.Show(c.Name.ToString());
    }
}

回答3:

这个 可以有
用findcontorl方法
具体你查下所用容易的findcontrols如何使用

回答4:

在其他容器里面的控件需要用到一个FindControl(id)方法获取里面的控件

回答5:

用多重循环试试行不,我现在手上没电脑只有手机,明天我试试看行不行再联系你