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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VarRefManager.cs
- CookieHandler.cs
- CacheDependency.cs
- TableParagraph.cs
- AnnouncementDispatcherAsyncResult.cs
- AnnotationAuthorChangedEventArgs.cs
- StringInfo.cs
- XsltQilFactory.cs
- UnsafeCollabNativeMethods.cs
- XamlBrushSerializer.cs
- OperationFormatStyle.cs
- Int32.cs
- ControlParameter.cs
- StatusBarDrawItemEvent.cs
- SelectionItemProviderWrapper.cs
- TakeOrSkipQueryOperator.cs
- ImageDrawing.cs
- VisualTreeUtils.cs
- LoopExpression.cs
- FullTextLine.cs
- ClientSideQueueItem.cs
- Cloud.cs
- MenuItemBinding.cs
- OleDbReferenceCollection.cs
- XmlSchemaInfo.cs
- ClientTargetSection.cs
- ImageMapEventArgs.cs
- DataRow.cs
- KeyValuePair.cs
- Brushes.cs
- DisplayNameAttribute.cs
- SizeValueSerializer.cs
- TemplateLookupAction.cs
- BaseCodeDomTreeGenerator.cs
- Triplet.cs
- ConnectionPointCookie.cs
- ScriptServiceAttribute.cs
- InputMethodStateTypeInfo.cs
- SecureUICommand.cs
- ModelService.cs
- DataPager.cs
- DetailsViewUpdateEventArgs.cs
- LeafCellTreeNode.cs
- IndexExpression.cs
- WeakEventManager.cs
- Thread.cs
- XmlSchemaObjectTable.cs
- JsonEncodingStreamWrapper.cs
- StaticDataManager.cs
- SimpleWebHandlerParser.cs
- DispatcherTimer.cs
- NotifyIcon.cs
- SynchronizedInputAdaptor.cs
- ColorAnimationUsingKeyFrames.cs
- URLMembershipCondition.cs
- UpdateRecord.cs
- StylusDownEventArgs.cs
- FontFamilyConverter.cs
- SqlLiftWhereClauses.cs
- FamilyMap.cs
- RuleConditionDialog.cs
- InputScopeConverter.cs
- ItemContainerPattern.cs
- PagedDataSource.cs
- MdImport.cs
- XamlTypeMapper.cs
- ConfigurationPropertyCollection.cs
- TextProviderWrapper.cs
- ToolStripItem.cs
- UnsettableComboBox.cs
- RijndaelManagedTransform.cs
- FailedToStartupUIException.cs
- CatalogZone.cs
- HttpCapabilitiesSectionHandler.cs
- PointValueSerializer.cs
- MediaElementAutomationPeer.cs
- FormatterConverter.cs
- DynamicPropertyReader.cs
- documentsequencetextview.cs
- ErrorStyle.cs
- XmlAnyElementAttribute.cs
- HotSpotCollection.cs
- RowUpdatingEventArgs.cs
- PeerNameRegistration.cs
- ColumnBinding.cs
- TabPage.cs
- UnsafeCollabNativeMethods.cs
- DefaultValidator.cs
- TerminatorSinks.cs
- BindingSource.cs
- PropertyInformation.cs
- WebContext.cs
- PhysicalAddress.cs
- List.cs
- RawTextInputReport.cs
- PassportIdentity.cs
- SessionParameter.cs
- AppSettingsReader.cs
- TemplateField.cs
- CheckBoxFlatAdapter.cs