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
- AuthenticodeSignatureInformation.cs
- BitStack.cs
- Avt.cs
- MaskDesignerDialog.cs
- Cursors.cs
- Int64Converter.cs
- XLinq.cs
- EntryIndex.cs
- BaseCAMarshaler.cs
- CompilationUtil.cs
- AssociationTypeEmitter.cs
- TTSEngineProxy.cs
- DataGridViewTextBoxCell.cs
- Speller.cs
- HtmlForm.cs
- AsymmetricSignatureFormatter.cs
- Pen.cs
- DragEventArgs.cs
- Pointer.cs
- CheckBoxFlatAdapter.cs
- basemetadatamappingvisitor.cs
- OleDbConnectionInternal.cs
- SafeCertificateStore.cs
- serverconfig.cs
- StaticExtension.cs
- Sql8ExpressionRewriter.cs
- LoginView.cs
- CustomErrorsSection.cs
- SharedDp.cs
- VisualProxy.cs
- PeerConnector.cs
- OverlappedAsyncResult.cs
- SqlDataReader.cs
- ControlPropertyNameConverter.cs
- ChtmlCalendarAdapter.cs
- HtmlControlPersistable.cs
- ExpandButtonVisibilityConverter.cs
- PieceDirectory.cs
- DesignerExtenders.cs
- SortedSet.cs
- InheritanceContextHelper.cs
- Binding.cs
- ObjectCloneHelper.cs
- DomainLiteralReader.cs
- CaseExpr.cs
- SystemWebExtensionsSectionGroup.cs
- safex509handles.cs
- XmlDataContract.cs
- FontConverter.cs
- DSASignatureFormatter.cs
- SafeFileMappingHandle.cs
- XPathBinder.cs
- HttpWebResponse.cs
- MachineKeySection.cs
- XmlConvert.cs
- ChangeBlockUndoRecord.cs
- UInt16.cs
- KeyValueInternalCollection.cs
- IPipelineRuntime.cs
- SettingsSavedEventArgs.cs
- TextServicesCompartmentContext.cs
- CopyOnWriteList.cs
- AdjustableArrowCap.cs
- DbConnectionPoolCounters.cs
- WMIGenerator.cs
- RuntimeCompatibilityAttribute.cs
- ItemList.cs
- ServicePointManagerElement.cs
- SqlClientWrapperSmiStreamChars.cs
- SqlMultiplexer.cs
- KeySpline.cs
- LoginUtil.cs
- RuleSettingsCollection.cs
- TextTreeRootNode.cs
- PrivilegedConfigurationManager.cs
- SimpleType.cs
- ClientCredentialsElement.cs
- ProcessHostConfigUtils.cs
- CompilerCollection.cs
- NamespaceList.cs
- TdsEnums.cs
- COSERVERINFO.cs
- TextElementCollectionHelper.cs
- Helpers.cs
- XmlSchemaComplexContentExtension.cs
- ResolvedKeyFrameEntry.cs
- LayoutTableCell.cs
- COM2IManagedPerPropertyBrowsingHandler.cs
- DataServiceQuery.cs
- followingquery.cs
- DiagnosticTrace.cs
- ISAPIRuntime.cs
- ServiceDescriptionReflector.cs
- IndicFontClient.cs
- ListItemsCollectionEditor.cs
- MailHeaderInfo.cs
- CodeExporter.cs
- DeviceSpecificDialogCachedState.cs
- XPathArrayIterator.cs
- PassportAuthenticationEventArgs.cs