C# |如何获取 ToolStrip 的所有子项?

C# | How to get all child items of ToolStrip?

我需要为 ToolStrip/MenuStrip/StatusStrip 获取任何子项 翻译文本。

我通过简单的递归用控件做到了,但我不知道如何用 ToolStrip 项目做到这一点,因为 ToolStripItem class.

中没有 DropDownItems 属性

这是我写的,效果很好。

private ToolStripItem[] GetAllChildren(ToolStripItem item)
    {
        List<ToolStripItem> Items = new List<ToolStripItem> { item };
        if (item is ToolStripMenuItem)
            foreach (ToolStripItem i in ((ToolStripMenuItem)item).DropDownItems)
                Items.AddRange(GetAllChildren(i));
        else if (item is ToolStripSplitButton)
            foreach (ToolStripItem i in ((ToolStripSplitButton)item).DropDownItems)
                Items.AddRange(GetAllChildren(i));
        else if (item is ToolStripDropDownButton)
            foreach (ToolStripItem i in ((ToolStripDropDownButton)item).DropDownItems)
                Items.AddRange(GetAllChildren(i));
        return Items.ToArray();
    }