protected override VSMenu SetupMenuItems() { VSMenu vSMenu = new VSMenu(this, "Build Version Increment"); VSMenuCommand vSMenuCommand = vSMenu.AddCommand("OnlineVersionCheck", "Check for a new version.", "Check online for a new version of this addin."); vSMenuCommand.Execute += new EventHandler(this.MenuVersionCheck_Execute); VSMenuCommand vSMenuCommand2 = vSMenu.AddCommand("BuildVersionIncrementSettings", "Settings", "Configure BuildVersionIncrement."); vSMenuCommand2.Execute += new EventHandler(this.DisplayAddinSettings); vSMenuCommand2.QueryStatus += new EventHandler <VSMenuQueryStatusEventArgs>(this.MenuSettingsQueryStatus); return(vSMenu); }
void cmd_Click(object sender, EventArgs e) { try { VSMenuCommand cmd = sender as VSMenuCommand; if (cmd != null) { object className = ""; if (directory.TryGetValue(cmd, out className)) { if (className is string) { if (className.ToString().EndsWith(".exe")) { string exeFullPath = System.IO.Path.Combine(Location, className.ToString()); //启动单例 //System.Diagnostics.Process.Start(exeFullPath); System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = new System.Diagnostics.ProcessStartInfo(exeFullPath); bool bl = proc.Start(); directory[cmd] = proc; } else //当做窗体或自定义控件 { object obj = LoadClass(className.ToString(), true); if (obj != null) { if (obj is System.Windows.Forms.Form) { (obj as System.Windows.Forms.Form).StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; (obj as System.Windows.Forms.Form).Show(); (obj as System.Windows.Forms.Form).Activate(); } } } } else if (className is System.Diagnostics.Process) { (className as System.Diagnostics.Process).Start(); } } } } catch (Exception ex) { Log.ShowErrorBox(ex); } }
/// <summary> /// Override this to create your menu items here. /// </summary> /// <returns>The root menu item.</returns> protected override VSMenu SetupMenuItems() { VSMenu rootMenu = new VSMenu(this, "Build Version Increment"); VSMenuCommand versionCheck = rootMenu.AddCommand("OnlineVersionCheck", "Check for a new version.", "Check online for a new version of this addin."); //versionCheck.Button.FaceId = 1922; versionCheck.Execute += new EventHandler(MenuVersionCheck_Execute); VSMenuCommand settingsCmd = rootMenu.AddCommand("BuildVersionIncrementSettings", "Settings", "Configure BuildVersionIncrement."); //settingsCmd.Button.FaceId = 0642; settingsCmd.Execute += new EventHandler(DisplayAddinSettings); settingsCmd.QueryStatus += new EventHandler <VSMenuQueryStatusEventArgs>(MenuSettingsQueryStatus); return(rootMenu); }