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
- ImageSourceTypeConverter.cs
- XPathSingletonIterator.cs
- NotSupportedException.cs
- ParallelTimeline.cs
- PageAsyncTask.cs
- BlobPersonalizationState.cs
- BasicCellRelation.cs
- OLEDB_Util.cs
- ListenerConstants.cs
- DataAdapter.cs
- DataSourceView.cs
- ControlCollection.cs
- DataGridSortCommandEventArgs.cs
- ZipFileInfoCollection.cs
- SvcMapFile.cs
- Renderer.cs
- TaskFormBase.cs
- Viewport2DVisual3D.cs
- RotateTransform.cs
- DataBinding.cs
- Guid.cs
- DataDesignUtil.cs
- WSFederationHttpBindingCollectionElement.cs
- ErrorStyle.cs
- Knowncolors.cs
- SoapFault.cs
- MetadataFile.cs
- CollectionViewSource.cs
- HMACSHA512.cs
- Drawing.cs
- X509Certificate.cs
- CompiledRegexRunner.cs
- StreamWriter.cs
- ObjectDataSourceMethodEventArgs.cs
- ServiceOperationListItem.cs
- SQLCharsStorage.cs
- UserControlBuildProvider.cs
- StateManagedCollection.cs
- SafeNativeMethods.cs
- __Filters.cs
- AsyncOperationManager.cs
- ResXFileRef.cs
- SqlBulkCopyColumnMappingCollection.cs
- DBDataPermissionAttribute.cs
- DesignParameter.cs
- CodeDelegateInvokeExpression.cs
- SafeNativeMethods.cs
- EntryPointNotFoundException.cs
- DataReaderContainer.cs
- AncillaryOps.cs
- MeshGeometry3D.cs
- WpfKnownMemberInvoker.cs
- ConnectionInterfaceCollection.cs
- PeerCollaborationPermission.cs
- BookmarkScopeManager.cs
- DataRow.cs
- WindowsGraphicsCacheManager.cs
- XmlDataContract.cs
- _UncName.cs
- PersonalizationState.cs
- EmptyTextWriter.cs
- SqlUtil.cs
- HealthMonitoringSection.cs
- TextServicesCompartmentEventSink.cs
- ZipIOExtraFieldElement.cs
- ChannelSinkStacks.cs
- SapiInterop.cs
- WebPartChrome.cs
- XPathAncestorIterator.cs
- CultureData.cs
- BCryptHashAlgorithm.cs
- UpdateManifestForBrowserApplication.cs
- TimersDescriptionAttribute.cs
- RangeValidator.cs
- MultiByteCodec.cs
- RuleSetDialog.Designer.cs
- SiteMapNodeItem.cs
- XmlSchemaAppInfo.cs
- NativeActivityAbortContext.cs
- SqlUserDefinedAggregateAttribute.cs
- DataListItemCollection.cs
- TextAdaptor.cs
- DataBindingExpressionBuilder.cs
- ImagingCache.cs
- CombinedGeometry.cs
- TemplateControlParser.cs
- AppDomainAttributes.cs
- DiscoveryDocumentSearchPattern.cs
- EditorServiceContext.cs
- SerialErrors.cs
- BaseTemplateCodeDomTreeGenerator.cs
- XmlCharCheckingReader.cs
- shaperfactoryquerycachekey.cs
- MailDefinition.cs
- webproxy.cs
- DocumentViewerHelper.cs
- FontDriver.cs
- BaseCollection.cs
- formatstringdialog.cs
- Int32AnimationBase.cs