Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / NewItemsContextMenuStrip.cs / 1 / NewItemsContextMenuStrip.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms.Design { using System; using System.Collections.Generic; using System.Text; using System.Collections.Specialized; using System.Windows.Forms; using System.ComponentModel; internal class NewItemsContextMenuStrip : GroupedContextMenuStrip { IComponent component = null; EventHandler onClick = null; bool convertTo = false; IServiceProvider serviceProvider = null; ToolStripItem currentItem; public NewItemsContextMenuStrip(IComponent component, ToolStripItem currentItem, EventHandler onClick, bool convertTo, IServiceProvider serviceProvider) { this.component = component; this.onClick = onClick; this.convertTo = convertTo; this.serviceProvider = serviceProvider; this.currentItem = currentItem; IUIService uis = serviceProvider.GetService(typeof(IUIService)) as IUIService; if (uis != null) { this.Renderer =(ToolStripProfessionalRenderer)uis.Styles["VsRenderer"]; } } protected override void OnOpening(CancelEventArgs e) { this.Groups["StandardList"].Items.Clear(); this.Groups["CustomList"].Items.Clear(); Populated = false; // plumb through the standard and custom items. foreach (ToolStripItem item in ToolStripDesignerUtils.GetStandardItemMenuItems(component, onClick, convertTo)) { this.Groups["StandardList"].Items.Add(item); if (convertTo) { ItemTypeToolStripMenuItem toolItem = item as ItemTypeToolStripMenuItem; if (toolItem != null && currentItem != null && toolItem.ItemType == currentItem.GetType()) { toolItem.Enabled = false; } } } foreach (ToolStripItem item in ToolStripDesignerUtils.GetCustomItemMenuItems(component, onClick, convertTo, serviceProvider)) { this.Groups["CustomList"].Items.Add(item); if (convertTo) { ItemTypeToolStripMenuItem toolItem = item as ItemTypeToolStripMenuItem; if (toolItem != null && currentItem != null && toolItem.ItemType == currentItem.GetType()) { toolItem.Enabled = false; } } } base.OnOpening(e); } // Please refer to VsW: 505199 for more details. We dont want the runtime behavior for this Design Time only DropDown and hence we overide the ProcessDialogKey and // just close the DropDown instead of running through the runtime implementation for RIGHT/LEFT Keys which ends up setting ModalMenuFilter. protected override bool ProcessDialogKey(Keys keyData) { Keys keyCode = (Keys)keyData & Keys.KeyCode; switch (keyCode) { case Keys.Left: case Keys.Right: this.Close(); return true; } return base.ProcessDialogKey(keyData); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- NativeRightsManagementAPIsStructures.cs
- TabItemWrapperAutomationPeer.cs
- Propagator.JoinPropagator.cs
- DataGridHeaderBorder.cs
- HtmlInputImage.cs
- DbExpressionVisitor.cs
- BitmapScalingModeValidation.cs
- AlignmentXValidation.cs
- XmlSchemaGroupRef.cs
- PointLight.cs
- LoginViewDesigner.cs
- MatrixCamera.cs
- XmlEncoding.cs
- VScrollProperties.cs
- Keywords.cs
- OpenTypeCommon.cs
- ProgressPage.cs
- util.cs
- TreeViewEvent.cs
- FullTextBreakpoint.cs
- SizeChangedEventArgs.cs
- storepermission.cs
- ApplicationBuildProvider.cs
- SymLanguageType.cs
- WebPartEditVerb.cs
- XmlNotation.cs
- DataGridPageChangedEventArgs.cs
- SoapSchemaImporter.cs
- SqlParameter.cs
- WebDisplayNameAttribute.cs
- PkcsUtils.cs
- Polyline.cs
- SqlClientPermission.cs
- AnimationClockResource.cs
- DBParameter.cs
- RouteData.cs
- SqlEnums.cs
- SamlSubjectStatement.cs
- OrderedDictionaryStateHelper.cs
- SqlDataSourceStatusEventArgs.cs
- PipelineModuleStepContainer.cs
- IISMapPath.cs
- FormattedText.cs
- SQLInt32.cs
- RadioButtonAutomationPeer.cs
- Rect3D.cs
- CurrentTimeZone.cs
- BinaryFormatterSinks.cs
- WrapperEqualityComparer.cs
- GlyphElement.cs
- DataGridViewCellValueEventArgs.cs
- ObjectStateEntryDbDataRecord.cs
- RegularExpressionValidator.cs
- CalendarModeChangedEventArgs.cs
- RoutedCommand.cs
- ParameterCollection.cs
- SafeBuffer.cs
- DiscoveryDocumentReference.cs
- EventArgs.cs
- EntityParameter.cs
- GetWinFXPath.cs
- AsyncResult.cs
- VirtualPathData.cs
- newinstructionaction.cs
- StorageConditionPropertyMapping.cs
- LoggedException.cs
- ScriptingJsonSerializationSection.cs
- EventMappingSettingsCollection.cs
- DiagnosticTrace.cs
- OutputCacheSettings.cs
- ConnectionStringsExpressionBuilder.cs
- grammarelement.cs
- XmlSerializerImportOptions.cs
- PackageRelationship.cs
- TemplateField.cs
- RelatedCurrencyManager.cs
- XmlSchemaAnyAttribute.cs
- DefaultBindingPropertyAttribute.cs
- _AutoWebProxyScriptEngine.cs
- SqlXml.cs
- RawTextInputReport.cs
- Pair.cs
- BitmapSource.cs
- MetadataException.cs
- NetworkStream.cs
- IsolatedStorageFileStream.cs
- TemplateControlCodeDomTreeGenerator.cs
- ContentPosition.cs
- ModelVisual3D.cs
- XhtmlBasicLabelAdapter.cs
- QueryCacheEntry.cs
- DataGridViewElement.cs
- JsonDeserializer.cs
- WebRequest.cs
- ObjectPropertyMapping.cs
- TTSEvent.cs
- RectangleGeometry.cs
- VariableExpressionConverter.cs
- DetailsViewModeEventArgs.cs
- DetailsViewUpdateEventArgs.cs