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
- XmlILOptimizerVisitor.cs
- DataSourceHelper.cs
- DbModificationCommandTree.cs
- Menu.cs
- OledbConnectionStringbuilder.cs
- COM2IProvidePropertyBuilderHandler.cs
- HttpConfigurationContext.cs
- UpdateCompiler.cs
- InnerItemCollectionView.cs
- wmiprovider.cs
- OpenFileDialog.cs
- PackageStore.cs
- BamlLocalizableResourceKey.cs
- MarshalByRefObject.cs
- DataControlImageButton.cs
- PseudoWebRequest.cs
- EventProviderTraceListener.cs
- ObjectDataSourceMethodEventArgs.cs
- MobileListItem.cs
- BlurBitmapEffect.cs
- NumberSubstitution.cs
- CacheRequest.cs
- XmlTextReaderImplHelpers.cs
- SRef.cs
- DomainUpDown.cs
- StrokeNodeEnumerator.cs
- DesignerLoader.cs
- TransactionFlowAttribute.cs
- XmlDataSourceView.cs
- ApplicationServiceManager.cs
- MULTI_QI.cs
- columnmapkeybuilder.cs
- Pool.cs
- ContentPosition.cs
- PaintEvent.cs
- AnonymousIdentificationModule.cs
- HitTestWithGeometryDrawingContextWalker.cs
- PanelDesigner.cs
- XmlSerializableReader.cs
- ConfigXmlElement.cs
- MaskInputRejectedEventArgs.cs
- ActionItem.cs
- HierarchicalDataSourceControl.cs
- ObjectSet.cs
- WebPartAuthorizationEventArgs.cs
- ProxyWebPart.cs
- WebEventCodes.cs
- TypeDescriptorFilterService.cs
- XmlSchemaComplexContentRestriction.cs
- AddingNewEventArgs.cs
- ZipIOLocalFileDataDescriptor.cs
- StaticSiteMapProvider.cs
- ListViewUpdatedEventArgs.cs
- PeerNameRegistration.cs
- DynamicExpression.cs
- UIElementPropertyUndoUnit.cs
- PipeConnection.cs
- InstalledFontCollection.cs
- ItemDragEvent.cs
- BinaryUtilClasses.cs
- ConfigXmlWhitespace.cs
- ResourceExpressionEditorSheet.cs
- SymLanguageType.cs
- WorkflowViewService.cs
- DbFunctionCommandTree.cs
- TdsParserSessionPool.cs
- InputBuffer.cs
- TreeNodeCollection.cs
- ToolStripTextBox.cs
- TextBox.cs
- StateRuntime.cs
- IdnMapping.cs
- DirectoryRootQuery.cs
- OfTypeExpression.cs
- EntityClientCacheEntry.cs
- DeleteIndexBinder.cs
- FilterableAttribute.cs
- InvalidCommandTreeException.cs
- ObjectManager.cs
- TableDetailsRow.cs
- GifBitmapEncoder.cs
- BindableTemplateBuilder.cs
- _CommandStream.cs
- TableLayout.cs
- XmlNamespaceDeclarationsAttribute.cs
- Point3DConverter.cs
- CodeCommentStatement.cs
- DockPanel.cs
- Persist.cs
- JavascriptXmlWriterWrapper.cs
- XPathDescendantIterator.cs
- pingexception.cs
- SequentialOutput.cs
- XslAst.cs
- UnitySerializationHolder.cs
- ProfileProvider.cs
- PackUriHelper.cs
- PowerStatus.cs
- DrawingAttributes.cs
- PersistencePipeline.cs