Code:
/ FX-1434 / FX-1434 / 1.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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- dataSvcMapFileLoader.cs
- TemplateColumn.cs
- RunInstallerAttribute.cs
- XmlAtomicValue.cs
- BindValidator.cs
- UrlAuthFailureHandler.cs
- QilTypeChecker.cs
- HttpPostedFile.cs
- SchemaLookupTable.cs
- WSSecurityTokenSerializer.cs
- hresults.cs
- SqlTypeSystemProvider.cs
- StyleHelper.cs
- Binding.cs
- EmptyStringExpandableObjectConverter.cs
- XmlTypeMapping.cs
- RootBrowserWindowProxy.cs
- TreeNodeSelectionProcessor.cs
- PopupEventArgs.cs
- SqlRecordBuffer.cs
- AutomationElementCollection.cs
- RemoteWebConfigurationHost.cs
- HashStream.cs
- PageVisual.cs
- ContainerFilterService.cs
- Highlights.cs
- Visual3DCollection.cs
- SharedUtils.cs
- BuiltInExpr.cs
- StrokeIntersection.cs
- COM2Enum.cs
- ConstraintConverter.cs
- OrderedDictionary.cs
- TextBoxAutoCompleteSourceConverter.cs
- StatusBarAutomationPeer.cs
- BaseCollection.cs
- GraphicsState.cs
- OutputCacheSettings.cs
- EventOpcode.cs
- StreamAsIStream.cs
- EntityDataSourceDataSelectionPanel.cs
- ContentPropertyAttribute.cs
- GridViewEditEventArgs.cs
- SocketManager.cs
- MachineKeySection.cs
- PropertyPanel.cs
- TableCell.cs
- ErrorEventArgs.cs
- BamlResourceDeserializer.cs
- DrawingGroupDrawingContext.cs
- UrlMappingsModule.cs
- MarkupProperty.cs
- iisPickupDirectory.cs
- Rfc2898DeriveBytes.cs
- ToolStripLabel.cs
- AddingNewEventArgs.cs
- oledbconnectionstring.cs
- AssertHelper.cs
- ProviderManager.cs
- FixedLineResult.cs
- DataGridTablesFactory.cs
- WebServiceEnumData.cs
- LocatorPart.cs
- XmlILModule.cs
- PointCollection.cs
- Span.cs
- PropertyDescriptorCollection.cs
- LogicalTreeHelper.cs
- HttpResponseInternalWrapper.cs
- OrderedDictionaryStateHelper.cs
- LogEntryHeaderSerializer.cs
- GroupItemAutomationPeer.cs
- SelectionChangedEventArgs.cs
- DBProviderConfigurationHandler.cs
- UIPermission.cs
- Root.cs
- ImageFormat.cs
- SmtpNegotiateAuthenticationModule.cs
- xamlnodes.cs
- followingquery.cs
- ScalarOps.cs
- PerformanceCountersElement.cs
- ExternalDataExchangeService.cs
- ServiceHostingEnvironment.cs
- XPathMessageFilterTable.cs
- WrappedIUnknown.cs
- _SecureChannel.cs
- FileChangesMonitor.cs
- ObjectTag.cs
- storepermission.cs
- EvidenceTypeDescriptor.cs
- GuidelineSet.cs
- TypeToStringValueConverter.cs
- SqlUtil.cs
- SymmetricAlgorithm.cs
- AssociatedControlConverter.cs
- RectValueSerializer.cs
- DynamicDataResources.Designer.cs
- WebPartEditVerb.cs
- MarkupCompilePass2.cs