在C#Winforms中,当用户首次加载表单时,我通过单击该标签将输入作为标签“text”输入到数据库中。如果另一个用户加载该表单,我想再次禁用该标签。我该怎么做?这是表格样本
这是我的尝试:
当另一个用户加载表单时,我检索该字符串并拆分 通过使用“,”并将其存储在数组中
但我不知道如何从阵列中禁用该标签。请帮忙。
答案 0 :(得分:1)
* 强文 * 1.-在数组中执行循环
2.-使用标签名称查找标签(我认为标签的名称与您在阵列中的输入字符串相同)
3.-禁用控件
foreach (string name in yourArray)
{
var matches = this.Controls.Find(name , true);
((Label) matches).Enable = False
}
我现在没有编译器,我希望它运行。如果没有,请理解。
修改:按照文字属性查找标签:
foreach(Control c in this.Controls)
{
if(c is Label)
{
if((Label) c).Text == "RequiredText")
{
// Do stuff here ;
}
}
}
请注意,如果标签位于面板,组框或任何内容控件内,则必须使用udo contentControl.Controls而不是使用“this”。
编辑2:好的,这段代码适合我。我有一个带有文字“Sample”的标签。
var myarray = "E1,E2,Sample".Split(',');
foreach (Control labelcontrol in this.Controls)
{
if (!(labelcontrol is Label)) continue;
foreach (var text in myarray)
{
if (labelcontrol.Text == text)
labelcontrol.Enabled = false;
}
}