我正在使用ControlCollection.Find() C# 中的方法来查找我的表单中存在的一些图片框。
我将返回的结果存储在 Control[] 数组中。我如何知道 Find() 是否成功???
代码
Control[] temp = pictureBoxCollection.Find(TagNo, true);
if(temp.Length>0)
UpdateRes = update_status(TagNo, Status);
其中 TagNo 是包含控件确切名称的字符串。
是的。我正在使用控件的确切名称。我之前已经成功地使用了 Find() 方法(当 Control 肯定存在于 Collection 中时)。这次我遇到了问题,因为该控件可能存在于集合中,也可能不存在。
最佳答案
你尝试过吗?
var result = controlCollection.Find(contolName,true);
if(result == null || result.Length == 0)
{
// fail to find
}
您可以使用此方法查看所有控件的列表
public void FillControls(List<string> container,Control control)
{
foreach (Control child in control.Controls)
{
container.Add(child.Name);
FillControls(container,child);
}
}
然后使用:
public Form1()
{
InitializeComponent();
List<string> controls = new List<string>();
FillControls(controls,this);
}
关于c# - 如何检查 (c#) ControlCollection.Find() 是否返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5634470/