2010-04-07 6 views
3

Nous sommes en train de créer Excel 2007 AddIn en utilisant VSTO. Maintenant, nous avons un scénario où il y a 2 boutons. Bouton 'A' et bouton 'B'. Le bouton 'B' doit être caché en cliquant sur le bouton 'A'.Excel VSTO -> Masquer/afficher le bouton du ruban en fonction d'un autre bouton du ruban cliquez sur

Mais comme la barre de ruban n'est pas rafraîchie dynamiquement, nous ne pouvons pas voir la modification sur la barre de ruban.

J'ai entendu de certains blods nous avons besoin d'utiliser des méthodes de rappel pour le même.

Pourriez-vous s'il vous plaît expliquer et mettre un extrait de code sur la façon de faire cela?

apprécierons fortement si quelqu'un peut aider dès que possible ...

Répondre

0

Désolé de poser une telle question stupide et simple ...

Étape 1: Bouton "B" visible Faux Étape 2: sur Cliquez sur l'événement sur le bouton "A" pour le rendre visible. Je me suis trompé en lisant trop .. et fait question simple un complexe.

+0

Salut, pouvez-vous me dire comment avez-vous trouvé l'instance du bouton B dans l'événement de clic du bouton A ou vice versa? – Sumit

0

Deux remarques:

1) afin de "forcer" un rafraîchissement sur le ruban, vous pouvez appeler ribbon.Invalidate(); Cela peut être utile si vous avez besoin d'activer ou de désactiver par programme des boutons ou d'autres éléments.

2) masquer/montrer dynamiquement des boutons dans le ruban est contraire aux directives de l'interface utilisateur du ruban, que vous devez respecter. Je ne suis pas sûr que cela s'applique aussi bien aux compléments Office (ou seulement aux applications autonomes), mais je serais surpris que ce ne soit pas le cas. Vous pouvez lire plus ici: http://msdn.microsoft.com/en-us/office/aa973809.aspx

+0

Comme je l'ai compris, vous ne pouvez utiliser ribbon.Invalidate si vous utilisez RibbonXml. De plus, si show/hide n'est pas autorisé, devriez-vous activer/désactiver? – ghostJago

Questions connexes