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"; }
}
能有办法解决这个问题吗 展开
{
if (aa.GetType().ToString() == "System.Windows.Forms.TextBox")
{ aa.Text = "qq"; }
}
能有办法解决这个问题吗 展开
5个回答
展开全部
这个真没有,估计楼下两位看错了——人家是将所有的textbox的text都赋值为'qq',而不是将某个ID的textbox赋值。
目前好象只有迭代方式实现,还没有能在后台一次取完的!
但是,如果是这样的话,还真有办法处理:问题在就在于继承上!
public class DefinedTextBox :TextBox
{
public DefinedTextBox()
{
this.Text = "qq";
}
//other code in here;
}
然后每一人TextBox不再使用TextBox,而是使用DefinedTextBox,在生成时就全部会生成这个!
当然,直接使用属性改造也是可以的!
除此之外,我也要学习!不过据我知,除了迭代没有其他的方法的!就算使用lambda表达式,虽然代码上没有了循环,其实生成后还是存在迭代的。
目前好象只有迭代方式实现,还没有能在后台一次取完的!
但是,如果是这样的话,还真有办法处理:问题在就在于继承上!
public class DefinedTextBox :TextBox
{
public DefinedTextBox()
{
this.Text = "qq";
}
//other code in here;
}
然后每一人TextBox不再使用TextBox,而是使用DefinedTextBox,在生成时就全部会生成这个!
当然,直接使用属性改造也是可以的!
除此之外,我也要学习!不过据我知,除了迭代没有其他的方法的!就算使用lambda表达式,虽然代码上没有了循环,其实生成后还是存在迭代的。
展开全部
//给你演示如何获取全部控件,包括容器里面的
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());
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个 可以有
用findcontorl方法
具体你查下所用容易的findcontrols如何使用
用findcontorl方法
具体你查下所用容易的findcontrols如何使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-21
展开全部
在其他容器里面的控件需要用到一个FindControl(id)方法获取里面的控件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用多重循环试试行不,我现在手上没电脑只有手机,明天我试试看行不行再联系你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询