1 //Inserisce il comando nel menu degli strumenti.
2 //Individua la barra dei comandi MenuBar, che è la barra dei comandi di primo livello contenente tutte le voci di menu principali:
3 Microsoft.VisualStudio.CommandBars.CommandBar menuBarCommandBar = ((Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars)["MenuBar"];
4
5 //Individua la barra dei comandi Tools sulla barra dei comandi MenuBar:
6 CommandBarControl toolsControl = menuBarCommandBar.Controls[toolsMenuName];
7 CommandBarPopup toolsPopup = (CommandBarPopup)toolsControl;
8
9 //Se si desidera aggiungere più comandi da gestire con il componente aggiuntivo, questo blocco try/catch può essere duplicato,
10 // ma occorre ricordare di aggiornare anche il metodo QueryStatus/Exec per includere i nomi dei nuovi comandi.
11 try
12 {
13 //Aggiunge un comando all'insieme Commands:
14 Command command = commands.AddNamedCommand2(_addInInstance, "ConnectSample", "ConnectSample", "Executes the command for ConnectSample", true, 59, ref contextGUIDS, (int)vsCommandStatus.vsCommandStatusSupported+(int)vsCommandStatus.vsCommandStatusEnabled, (int)vsCommandStyle.vsCommandStylePictAndText, vsCommandControlType.vsCommandControlTypeButton);
15
16 //Aggiunge un controllo per il comando al menu degli strumenti:
17 if((command != null) && (toolsPopup != null))
18 {
19 command.AddControl(toolsPopup.CommandBar, 1);
20 }
21 }
22 catch(System.ArgumentException)
23 {
24 //In questo caso, probabilmente l'eccezione è stata generata perché un comando con quel nome
25 // esiste già. In tal caso non è necessario ricreare il comando ed è possibile
26 // ignorare l'eccezione.
27 }