public override void DoDefaultAction() { ToolStripDropDownItem item = Owner as ToolStripDropDownItem; if (item != null && item.HasDropDownItems) { item.ShowDropDown(); } else { base.DoDefaultAction(); } }
public override void DoDefaultAction() { ToolStripDropDownItem owner = base.Owner as ToolStripDropDownItem; if ((owner != null) && owner.HasDropDownItems) { owner.ShowDropDown(); } else { base.DoDefaultAction(); } }
private void shadingModes_ensureToolStripItems(ToolStripDropDownItem targetToolStrip, int minCount = 1, int toolStipInsertionIndex = 0) { Debug.Assert(targetToolStrip.DropDownItems != null); // First time - Third Item is separator if (targetToolStrip.DropDownItems.Count < minCount) { // Insert normal shading mode ShadingEffectMenuItem item = new ShadingEffectMenuItem( ShadingEffectMenuItem.NORMAL_SHADING_STRING, ShadingEffectMenuItem.NORMAL_SHADING_INDEX, targetToolStrip); item.BeforeChangingShadingMode += normalShadingItem_BeforeChangingShadingMode; item.AfterChangingShadingMode += new ShadingEffectMenuItem.ShadingModeChanged(item_AfterChangingShadingMode); targetToolStrip.DropDownItems.Insert(toolStipInsertionIndex, item); // Add all rendering effects that are loaded by the engine manager for this purpose: VisionEngineManager em = (VisionEngineManager)EditorManager.EngineManager; StringCollection names = new StringCollection(); em.GetReplacementRenderLoopEffects(names); // Insert shading items for (int i = 0; i < names.Count; i++) { ShadingEffectMenuItem shadingMenuItem = new ShadingEffectMenuItem( names[i], ShadingEffectMenuItem.NORMAL_SHADING_INDEX + 1 + i, targetToolStrip); shadingMenuItem.AfterChangingShadingMode += new ShadingEffectMenuItem.ShadingModeChanged(item_AfterChangingShadingMode); targetToolStrip.DropDownItems.Insert(i + toolStipInsertionIndex + 1, shadingMenuItem); } // Add a check box for particle debug rendering on/off. targetToolStrip.DropDownItems.Add(new ToolStripSeparator()); VisionEngineManager visionEngineManager = (VisionEngineManager)EditorManager.EngineManager; ToolStripMenuItem particleDebugRendering = new ToolStripMenuItem("Particle Debug Rendering", global::Editor.Properties.Resources.view_particle_debug); particleDebugRendering.Click += (System.EventHandler)((sender, arg) => { visionEngineManager.ParticleDebugRendering = !visionEngineManager.ParticleDebugRendering; ((ToolStripMenuItem)sender).Checked = visionEngineManager.ParticleDebugRendering; // Keep menu open. if (targetToolStrip.GetType() == typeof(ToolStripSplitButton)) { EditorManager.ActiveView.UpdateView(true); targetToolStrip.ShowDropDown(); } }); particleDebugRendering.ImageScaling = ToolStripItemImageScaling.None; particleDebugRendering.Checked = visionEngineManager.ParticleDebugRendering; targetToolStrip.DropDownItems.Add(particleDebugRendering); } }