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

foreach(ControlaainControls){if(aa.GetType().ToString()=="System.Windows.Forms.TextBo... foreach (Control aa in Controls)
{
if (aa.GetType().ToString() == "System.Windows.Forms.TextBox")
{ aa.Text = "qq"; }
}
能有办法解决这个问题吗
展开
 我来答
百度网友66a8d48e5
2013-05-21 · TA获得超过7687个赞
知道大有可为答主
回答量:3002
采纳率:12%
帮助的人:3839万
展开全部
这个真没有,估计楼下两位看错了——人家是将所有的textbox的text都赋值为'qq',而不是将某个ID的textbox赋值。

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

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

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

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

除此之外,我也要学习!不过据我知,除了迭代没有其他的方法的!就算使用lambda表达式,虽然代码上没有了循环,其实生成后还是存在迭代的。
leiyangbdwk
2013-05-21 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4327万
展开全部
//给你演示如何获取全部控件,包括容器里面的
private List<Control> AllControls = new List<Control>();
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());
    }
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dhy86151
2013-05-21 · 超过20用户采纳过TA的回答
知道答主
回答量:106
采纳率:0%
帮助的人:37万
展开全部
这个 可以有
用findcontorl方法
具体你查下所用容易的findcontrols如何使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-21
展开全部
在其他容器里面的控件需要用到一个FindControl(id)方法获取里面的控件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gyyyaann
2013-05-21 · 超过68用户采纳过TA的回答
知道答主
回答量:197
采纳率:0%
帮助的人:182万
展开全部
用多重循环试试行不,我现在手上没电脑只有手机,明天我试试看行不行再联系你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式