gpt4 book ai didi

c# - 在 .net、winforms 中获取工具条项的所有者工具条的正确方法

转载 作者:太空宇宙 更新时间:2023-11-03 20:41:57 25 4
gpt4 key购买 nike

我发现,在尝试查找某个项目的所属工具条时,并不像仅查看该项目的所有者那么容易。下面是一些我认为应该有效的伪代码。任何人都可以看出这有什么问题吗?或者它应该适用于所有情况吗?

(1) Item.Owner 的类型是 ToolStrip 吗?

(2) 是的,返回 Item.Owner

(3) 不,Item = Item.OwnerItem。转到 (1)。

预计到达时间:

我想让测试成为一般测试。因此,我应该测试 ToolStrip、MenuStrip、StatusStrip 或 ContextMenuStrip,而不是测试 ToolStrip。

是什么让上面提到的 4 个与其他 ToolStrip 派生控件(例如 ToolStripDropDown、ToolStripDropDownMenu 和 ToolStripOverflow)不同?

ETA2:无视,绝对的鲤鱼!

据我所知,这与 Control.TopLevelControl 有关。上面 3 个不能添加到窗体的控件返回它们自己的 TopLevelControl。 4 个有效控件在添加到表单之前不为 TopLevelControl 返回任何内容,在添加之后返回表单本身。

最佳答案

这有效:

        ToolStrip owner = testToolStripMenuItem.Owner;
while (owner is ToolStripDropDownMenu)
owner = (owner as ToolStripDropDownMenu).OwnerItem.Owner;

关于c# - 在 .net、winforms 中获取工具条项的所有者工具条的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com