Originaly在不同的论坛上发布了一段时间,希望我能在这里找到更多帮助:)
嗨,大家好,
我确信这是一个非常基本的问题,但我是很多编程和C#的新手。我发现我需要清除几个控件上的数据绑定,目前有:
lblTableValue1.DataBindings.Clear();
lblTableValue2.DataBindings.Clear();
lblTableValue3.DataBindings.Clear();
lblTableValue4.DataBindings.Clear();
lblTableValue5.DataBindings.Clear();
lblTableValue6.DataBindings.Clear();
lblTableValue7.DataBindings.Clear();
这不可能是做到这一点的最好方法吗?我还需要将所有这些文本值设置为“”,我可以将它们分组并在整个组中调用清楚吗?
非常感谢提前 ģ
答案 0 :(得分:5)
foreach(Control c in this.Controls)
{
if(c.Name.StartsWith("lblTableValue"))
{
c.DataBindings.Clear();
}
}
那可能会起作用。或者,如果你更像一个纯粹主义者:
foreach(Control c in new Control[]
{
lblTableValue1,
lblTableValue2,
etc
})
{
c.DataBindings.Clear();
}
答案 1 :(得分:0)
在这种情况下,我发现最好在某种容器中包含我想要操作的控件,比如Panel。然后迭代变得容易:
private void SetLabelText()
{
foreach (Control c in Panel1.Controls)
{
if (c is Label && c.ID.StartsWith("lblTableValue"))
{
Label lbl = c as Label;
lbl.Text = string.Empty;
lbl.DataBindings.Clear();
}
}
}