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
- WebEncodingValidatorAttribute.cs
- SdlChannelSink.cs
- serverconfig.cs
- SqlUDTStorage.cs
- GraphicsContext.cs
- NameTable.cs
- KoreanLunisolarCalendar.cs
- RoleManagerEventArgs.cs
- PackagePartCollection.cs
- EntityDataSourceState.cs
- XmlTextAttribute.cs
- ResourceWriter.cs
- PipelineModuleStepContainer.cs
- Serializer.cs
- RadioButton.cs
- XmlDownloadManager.cs
- ClientSettingsStore.cs
- SerializationHelper.cs
- MediaContext.cs
- AssemblyCache.cs
- ScrollBarRenderer.cs
- NameTable.cs
- TheQuery.cs
- UriTemplateDispatchFormatter.cs
- LabelExpression.cs
- SByteConverter.cs
- GeneralTransformGroup.cs
- DesignerActionPanel.cs
- Attributes.cs
- AssemblyHash.cs
- ImageFormat.cs
- BuildProviderAppliesToAttribute.cs
- IsolatedStorageFile.cs
- OpCellTreeNode.cs
- TextAction.cs
- safemediahandle.cs
- AndCondition.cs
- MemberCollection.cs
- FileSystemWatcher.cs
- ValidationErrorCollection.cs
- DesignConnection.cs
- EDesignUtil.cs
- DrawingVisualDrawingContext.cs
- Animatable.cs
- DWriteFactory.cs
- BindingElementCollection.cs
- basecomparevalidator.cs
- XmlSchemaRedefine.cs
- InitializeCorrelation.cs
- TraceSource.cs
- PageParserFilter.cs
- ReadOnlyPropertyMetadata.cs
- View.cs
- SendingRequestEventArgs.cs
- IsolatedStorage.cs
- EmbeddedMailObject.cs
- wgx_commands.cs
- ComponentGuaranteesAttribute.cs
- EventWaitHandle.cs
- EdgeProfileValidation.cs
- AddInController.cs
- StateRuntime.cs
- control.ime.cs
- TypeExtension.cs
- DbDataSourceEnumerator.cs
- XmlIterators.cs
- RegistryKey.cs
- Brush.cs
- messageonlyhwndwrapper.cs
- ConnectionOrientedTransportBindingElement.cs
- ManipulationVelocities.cs
- ErrorFormatterPage.cs
- EnglishPluralizationService.cs
- OutputCacheSettingsSection.cs
- HwndProxyElementProvider.cs
- InkSerializer.cs
- PreviewKeyDownEventArgs.cs
- BehaviorDragDropEventArgs.cs
- SoapAttributeOverrides.cs
- TcpClientSocketManager.cs
- CatalogPartChrome.cs
- UxThemeWrapper.cs
- ListBoxChrome.cs
- AuthenticationModuleElement.cs
- FaultContractAttribute.cs
- PersonalizationProviderHelper.cs
- RowUpdatingEventArgs.cs
- WebPartDescriptionCollection.cs
- SHA256Managed.cs
- BinaryMessageFormatter.cs
- Bitmap.cs
- Resources.Designer.cs
- RegexStringValidatorAttribute.cs
- RenderingBiasValidation.cs
- Transform3D.cs
- LongAverageAggregationOperator.cs
- XmlDocumentSerializer.cs
- XmlSubtreeReader.cs
- SafeLibraryHandle.cs
- DataStreams.cs