J'ai trouvé que tout en essayant de trouver la bande d'outils propriétaire d'un élément, ce n'était pas facile de simplement regarder le propriétaire de l'élément. Voici un pseudo code qui, je pense, devrait fonctionner. Quelqu'un peut-il voir des problèmes avec cela ou devrait-il fonctionner dans tous les cas?La bonne façon d'obtenir la tooltrip propriétaire d'un élément de tooltrip dans .net, winforms
(1) Est-ce que le type de l'article est.Owner une ToolStrip?
(2) Oui, Retour Item.Owner
(3) Non, article = Item.OwnerItem. Aller à (1).
ETA:
Je voudrais faire le test d'un test général. Donc, au lieu de tester ToolStrip, je devrais tester ToolStrip, MenuStrip, StatusStrip ou ContextMenuStrip. Qu'est-ce qui différencie les 4 mentionnés ci-dessus des autres contrôles dérivés ToolStrip tels que ToolStripDropDown, ToolStripDropDownMenu et ToolStripOverflow?
ETA2: Ignorer, carpe absolue!
Pour autant que je puisse dire, c'est quelque chose à voir avec Control.TopLevelControl. Les 3 contrôles ci-dessus qui ne peuvent pas être ajoutés à un formulaire retournent un TopLevelControl d'eux-mêmes. Les 4 contrôles valides ne retournent rien pour TopLevelControl, avant d'être ajoutés à un formulaire, puis le formulaire lui-même, après avoir été ajouté.
Est-ce un ToolStripItem? La propriété Owner du ToolStripItem renvoie un ToolStrip. Est-ce que ça ne marche pas? –
C'est un ToolStripMenuItem qui appartient à un ToolStripDropDownButton. Toutefois, lorsque vous ajoutez certains éléments, comme DropDownButton, il semble créer un élément ToolStripDropDownMenu invisible qui dérive de ToolStrip. C'est ce qui est retourné quand vous regardez le propriétaire. Le propriétaire du ToolStripDropDownMenu est rien. – Jules