2

最初在另一个论坛上发布了一段时间,希望我能在这里找到更多帮助:)

嗨,大家好,

我确信这是一个非常基本的问题,但我对很多编程和 C# 还是很陌生。我发现我需要清除几个控件上的数据绑定,目前有:

            lblTableValue1.DataBindings.Clear();
            lblTableValue2.DataBindings.Clear();
            lblTableValue3.DataBindings.Clear();
            lblTableValue4.DataBindings.Clear();
            lblTableValue5.DataBindings.Clear();
            lblTableValue6.DataBindings.Clear();
            lblTableValue7.DataBindings.Clear();

这不是最好的方法吗?我还需要将所有这些文本值设置为“”,我可以以某种方式将它们分组并在整个组上调用 clear 吗?

非常感谢提前

4

2 回答 2

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();
}
于 2009-02-03T18:25:50.333 回答
0

在这种情况下,我发现最好将我想要操作的控件包含在某种容器中,比如面板。然后迭代变得容易:

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();
    } 
  } 
}
于 2009-02-03T18:37:37.047 回答