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
- Viewport2DVisual3D.cs
- DBConcurrencyException.cs
- EmptyControlCollection.cs
- KeyedHashAlgorithm.cs
- Wizard.cs
- DetectEofStream.cs
- Blend.cs
- InkCanvasSelection.cs
- AuthenticatingEventArgs.cs
- RtfControlWordInfo.cs
- ContainerUIElement3D.cs
- TextBounds.cs
- DataGridCommandEventArgs.cs
- HtmlEmptyTagControlBuilder.cs
- MimeTypePropertyAttribute.cs
- DocumentCollection.cs
- DbUpdateCommandTree.cs
- TypeProvider.cs
- Color.cs
- RoutedEventArgs.cs
- ConfigurationPropertyAttribute.cs
- ImageEditor.cs
- CodeGroup.cs
- LicenseProviderAttribute.cs
- _NegoStream.cs
- DelegatedStream.cs
- Intellisense.cs
- SystemTcpStatistics.cs
- ObjectStateManager.cs
- SqlCachedBuffer.cs
- Base64Encoder.cs
- PhysicalAddress.cs
- OutputCacheProfile.cs
- PeerNodeTraceRecord.cs
- AuthenticodeSignatureInformation.cs
- BuiltInExpr.cs
- HttpWriter.cs
- ServiceOperationParameter.cs
- JumpTask.cs
- Debugger.cs
- ProviderUtil.cs
- DecimalConstantAttribute.cs
- BinHexDecoder.cs
- Stylesheet.cs
- Drawing.cs
- HuffModule.cs
- XmlElement.cs
- WindowsScroll.cs
- PeerCollaboration.cs
- View.cs
- GeneralTransform2DTo3DTo2D.cs
- DomainLiteralReader.cs
- httpstaticobjectscollection.cs
- ThreadAbortException.cs
- TraceUtility.cs
- MissingManifestResourceException.cs
- NativeMethodsOther.cs
- CodeMemberField.cs
- SqlMethodCallConverter.cs
- VolatileResourceManager.cs
- ViewRendering.cs
- RelatedPropertyManager.cs
- SchemaCollectionCompiler.cs
- COM2ExtendedUITypeEditor.cs
- PagerSettings.cs
- figurelength.cs
- DropDownList.cs
- InvalidateEvent.cs
- XamlWriter.cs
- Accessible.cs
- TextSegment.cs
- RegexMatchCollection.cs
- SecurityRuntime.cs
- Int32EqualityComparer.cs
- SR.cs
- CollaborationHelperFunctions.cs
- Errors.cs
- ButtonField.cs
- ExtenderProvidedPropertyAttribute.cs
- ValueUtilsSmi.cs
- WebCategoryAttribute.cs
- CounterCreationData.cs
- SingleAnimation.cs
- ByteAnimation.cs
- ValidationError.cs
- DataSourceView.cs
- MouseGestureConverter.cs
- CriticalHandle.cs
- Keywords.cs
- StringUtil.cs
- CodeDirectionExpression.cs
- Currency.cs
- UnauthorizedWebPart.cs
- PageThemeCodeDomTreeGenerator.cs
- MatrixKeyFrameCollection.cs
- FrameworkElementAutomationPeer.cs
- CircleHotSpot.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- StreamWithDictionary.cs
- SoapSchemaImporter.cs