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
- GenericIdentity.cs
- Soap.cs
- CommentEmitter.cs
- figurelengthconverter.cs
- FragmentNavigationEventArgs.cs
- BuilderElements.cs
- printdlgexmarshaler.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- HelpProvider.cs
- DecimalAverageAggregationOperator.cs
- PeerNameRecord.cs
- SocketPermission.cs
- DataGridViewRowPrePaintEventArgs.cs
- DnsEndPoint.cs
- UrlMappingsModule.cs
- ContentIterators.cs
- HandledEventArgs.cs
- QuaternionIndependentAnimationStorage.cs
- BitmapEffectDrawing.cs
- BitmapSourceSafeMILHandle.cs
- PropertyPath.cs
- PKCS1MaskGenerationMethod.cs
- future.cs
- Line.cs
- XmlHierarchicalEnumerable.cs
- IUnknownConstantAttribute.cs
- TrackBarRenderer.cs
- ComponentResourceManager.cs
- InvalidWMPVersionException.cs
- DeviceContext.cs
- BinaryUtilClasses.cs
- CollectionAdapters.cs
- NullRuntimeConfig.cs
- GridViewColumnHeaderAutomationPeer.cs
- OptimizerPatterns.cs
- ClientSponsor.cs
- TraceContextEventArgs.cs
- ScopelessEnumAttribute.cs
- TypeElementCollection.cs
- SystemColors.cs
- ValidationError.cs
- ConsumerConnectionPoint.cs
- ResourceIDHelper.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- LayoutTableCell.cs
- RegexParser.cs
- DependencyObjectCodeDomSerializer.cs
- TypeDependencyAttribute.cs
- ListChangedEventArgs.cs
- UnionCqlBlock.cs
- RunClient.cs
- HtmlForm.cs
- IconConverter.cs
- XappLauncher.cs
- NetworkInformationException.cs
- ShaderEffect.cs
- Label.cs
- OptimalBreakSession.cs
- ellipse.cs
- Compiler.cs
- PageOutputQuality.cs
- CellIdBoolean.cs
- UshortList2.cs
- CompilerCollection.cs
- DateTimeFormatInfo.cs
- TerminatorSinks.cs
- ResourceAssociationType.cs
- ToolStripItemImageRenderEventArgs.cs
- _FtpDataStream.cs
- SecurityTokenRequirement.cs
- NotificationContext.cs
- NullableDecimalSumAggregationOperator.cs
- ButtonBaseDesigner.cs
- LambdaExpression.cs
- MonitoringDescriptionAttribute.cs
- BehaviorEditorPart.cs
- PhysicalFontFamily.cs
- StrongNameMembershipCondition.cs
- SoapCodeExporter.cs
- SubclassTypeValidator.cs
- Utility.cs
- XmlDataProvider.cs
- SymbolEqualComparer.cs
- FloatSumAggregationOperator.cs
- Grid.cs
- CollectionsUtil.cs
- TripleDESCryptoServiceProvider.cs
- FieldTemplateFactory.cs
- MemberMaps.cs
- LinqDataSourceDeleteEventArgs.cs
- Mutex.cs
- InvalidPropValue.cs
- SecurityIdentifierElementCollection.cs
- TextServicesHost.cs
- Clock.cs
- ConstNode.cs
- InstanceOwnerQueryResult.cs
- WebBrowserHelper.cs
- ToolStripSeparatorRenderEventArgs.cs
- RemotingConfigParser.cs