我试图遍历所有ToolStripButtons并找到所有ToolStripButtons.我的代码是:
private ToolStripItem FindControl(ToolStripButton parent, string controlName)
{
ToolStripButton c = null;
foreach (ToolStrip ctrl in parent.Owner.Items.ToString())
{
if (ctrl.GetType().ToString() == typeof(ToolStrip).ToString())
{
foreach (ToolStripButton item in ((ToolStripButton)ctrl).OwnerItem.Name)
{
if (item.GetType().ToString() == typeof(ToolStripButton).ToString())
{
if (item.Name.Equals(controlName))
{
//c = item.GetType().ToString() =typeof(ToolStripButton).ToString();
return item;
}
}
}
}
if (c == null)
{
c = FindControl(parent.GetType().ToString() == typeof(ToolStripButton).ToString(), parent.Name);
}
else
{
break;
}
}
return c;
}
Run Code Online (Sandbox Code Playgroud)
但它没有产生预期的结果.在此输入图像描述
使用Linq .OfType<T>(),您可以大大简化查找所需的控件:
var toolstrips = parent.Owner.Items.OfType<ToolStripButton>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |