Jul*_*les 2 .net c# toolstrip winforms
我发现,在尝试查找某个项目的所属工具条时,这并不像仅查看该项目的所有者那么容易。下面是一些我认为应该有效的伪代码。任何人都可以看到这有什么问题吗?或者它应该在所有情况下都有效吗?
(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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5759 次 |
| 最近记录: |