Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / ContextMenuStrip.cs / 1 / ContextMenuStrip.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.ComponentModel; using System.Drawing; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; ///this class is just a conceptual wrapper around ToolStripDropDownMenu. [ ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch), DefaultEvent("Opening"), SRDescription(SR.DescriptionContextMenuStrip) ] public class ContextMenuStrip : ToolStripDropDownMenu { ////// Summary of ContextMenuStrip. /// public ContextMenuStrip(IContainer container) : base() { // this constructor ensures ContextMenuStrip is disposed properly since its not parented to the form. if (container == null) { throw new ArgumentNullException("container"); } container.Add(this); } public ContextMenuStrip(){ } protected override void Dispose(bool disposing) { base.Dispose(disposing); } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription(SR.ContextMenuStripSourceControlDescr) ] public Control SourceControl { [UIPermission(SecurityAction.Demand, Window=UIPermissionWindow.AllWindows)] get { return SourceControlInternal; } } // minimal Clone implementation for DGV support only. internal ContextMenuStrip Clone() { // VERY limited support for cloning. ContextMenuStrip contextMenuStrip = new ContextMenuStrip(); // copy over events contextMenuStrip.Events.AddHandlers(this.Events); contextMenuStrip.AutoClose = AutoClose; contextMenuStrip.AutoSize = AutoSize; contextMenuStrip.Bounds = Bounds; contextMenuStrip.ImageList = ImageList; contextMenuStrip.ShowCheckMargin = ShowCheckMargin; contextMenuStrip.ShowImageMargin = ShowImageMargin; // copy over relevant properties for (int i = 0; i < Items.Count; i++) { ToolStripItem item = Items[i]; if (item is ToolStripSeparator) { contextMenuStrip.Items.Add(new ToolStripSeparator()); } else if (item is ToolStripMenuItem) { ToolStripMenuItem menuItem = item as ToolStripMenuItem; contextMenuStrip.Items.Add(menuItem.Clone()); } } return contextMenuStrip; } // internal overload so we know whether or not to show mnemonics. internal void ShowInternal(Control source, Point location, bool isKeyboardActivated) { Show(source, location); // if we were activated by keyboard - show mnemonics. if (isKeyboardActivated) { ToolStripManager.ModalMenuFilter.Instance.ShowUnderlines = true; } } internal void ShowInTaskbar(int x, int y) { // we need to make ourselves a topmost window WorkingAreaConstrained = false; Rectangle bounds = CalculateDropDownLocation(new Point(x,y), ToolStripDropDownDirection.AboveLeft); Rectangle screenBounds = Screen.FromRectangle(bounds).Bounds; if (bounds.Y < screenBounds.Y) { bounds = CalculateDropDownLocation(new Point(x,y), ToolStripDropDownDirection.BelowLeft); } else if (bounds.X < screenBounds.X) { bounds = CalculateDropDownLocation(new Point(x,y), ToolStripDropDownDirection.AboveRight); } bounds = WindowsFormsUtils.ConstrainToBounds(screenBounds, bounds); Show(bounds.X, bounds.Y); } protected override void SetVisibleCore(bool visible) { if (!visible) { WorkingAreaConstrained = true; } base.SetVisibleCore(visible); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.ComponentModel; using System.Drawing; using System.Runtime.InteropServices; using System.Security; using System.Security.Permissions; ///this class is just a conceptual wrapper around ToolStripDropDownMenu. [ ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch), DefaultEvent("Opening"), SRDescription(SR.DescriptionContextMenuStrip) ] public class ContextMenuStrip : ToolStripDropDownMenu { ////// Summary of ContextMenuStrip. /// public ContextMenuStrip(IContainer container) : base() { // this constructor ensures ContextMenuStrip is disposed properly since its not parented to the form. if (container == null) { throw new ArgumentNullException("container"); } container.Add(this); } public ContextMenuStrip(){ } protected override void Dispose(bool disposing) { base.Dispose(disposing); } [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), SRDescription(SR.ContextMenuStripSourceControlDescr) ] public Control SourceControl { [UIPermission(SecurityAction.Demand, Window=UIPermissionWindow.AllWindows)] get { return SourceControlInternal; } } // minimal Clone implementation for DGV support only. internal ContextMenuStrip Clone() { // VERY limited support for cloning. ContextMenuStrip contextMenuStrip = new ContextMenuStrip(); // copy over events contextMenuStrip.Events.AddHandlers(this.Events); contextMenuStrip.AutoClose = AutoClose; contextMenuStrip.AutoSize = AutoSize; contextMenuStrip.Bounds = Bounds; contextMenuStrip.ImageList = ImageList; contextMenuStrip.ShowCheckMargin = ShowCheckMargin; contextMenuStrip.ShowImageMargin = ShowImageMargin; // copy over relevant properties for (int i = 0; i < Items.Count; i++) { ToolStripItem item = Items[i]; if (item is ToolStripSeparator) { contextMenuStrip.Items.Add(new ToolStripSeparator()); } else if (item is ToolStripMenuItem) { ToolStripMenuItem menuItem = item as ToolStripMenuItem; contextMenuStrip.Items.Add(menuItem.Clone()); } } return contextMenuStrip; } // internal overload so we know whether or not to show mnemonics. internal void ShowInternal(Control source, Point location, bool isKeyboardActivated) { Show(source, location); // if we were activated by keyboard - show mnemonics. if (isKeyboardActivated) { ToolStripManager.ModalMenuFilter.Instance.ShowUnderlines = true; } } internal void ShowInTaskbar(int x, int y) { // we need to make ourselves a topmost window WorkingAreaConstrained = false; Rectangle bounds = CalculateDropDownLocation(new Point(x,y), ToolStripDropDownDirection.AboveLeft); Rectangle screenBounds = Screen.FromRectangle(bounds).Bounds; if (bounds.Y < screenBounds.Y) { bounds = CalculateDropDownLocation(new Point(x,y), ToolStripDropDownDirection.BelowLeft); } else if (bounds.X < screenBounds.X) { bounds = CalculateDropDownLocation(new Point(x,y), ToolStripDropDownDirection.AboveRight); } bounds = WindowsFormsUtils.ConstrainToBounds(screenBounds, bounds); Show(bounds.X, bounds.Y); } protected override void SetVisibleCore(bool visible) { if (!visible) { WorkingAreaConstrained = true; } base.SetVisibleCore(visible); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableAdapterManagerGenerator.cs
- ConfigXmlElement.cs
- ProjectionPruner.cs
- PerformanceCounterCategory.cs
- CompilerState.cs
- WebUtil.cs
- SqlTopReducer.cs
- BaseServiceProvider.cs
- TypedDatasetGenerator.cs
- SimpleTypeResolver.cs
- ModelFunctionTypeElement.cs
- UserControlParser.cs
- WorkflowDesignerColors.cs
- sitestring.cs
- CookielessHelper.cs
- ClipboardData.cs
- RequestSecurityTokenResponse.cs
- ISAPIWorkerRequest.cs
- PeerNeighborManager.cs
- XamlVector3DCollectionSerializer.cs
- XhtmlTextWriter.cs
- DynamicDocumentPaginator.cs
- FlowLayoutPanel.cs
- XmlNullResolver.cs
- sqlstateclientmanager.cs
- XamlTreeBuilderBamlRecordWriter.cs
- SafeFileMapViewHandle.cs
- GC.cs
- Style.cs
- ComponentChangedEvent.cs
- DockAndAnchorLayout.cs
- StringStorage.cs
- ContentIterators.cs
- StylusPointProperties.cs
- WizardPanelChangingEventArgs.cs
- MainMenu.cs
- TemplateAction.cs
- ArgumentException.cs
- GB18030Encoding.cs
- GroupStyle.cs
- EncryptedKey.cs
- HttpCacheVary.cs
- DataObjectCopyingEventArgs.cs
- M3DUtil.cs
- Formatter.cs
- ControlParameter.cs
- CapabilitiesPattern.cs
- FormViewModeEventArgs.cs
- ThreadStateException.cs
- _LoggingObject.cs
- AssociationSetMetadata.cs
- TranslateTransform3D.cs
- DetailsViewInsertEventArgs.cs
- FontInfo.cs
- FacetDescriptionElement.cs
- SchemaCollectionCompiler.cs
- Action.cs
- TdsParserHelperClasses.cs
- util.cs
- QuaternionConverter.cs
- TcpSocketManager.cs
- SmiMetaDataProperty.cs
- TdsParserHelperClasses.cs
- FontStretch.cs
- ToolTipAutomationPeer.cs
- QilCloneVisitor.cs
- CalendarDay.cs
- OperandQuery.cs
- DesignerWebPartChrome.cs
- LoadedOrUnloadedOperation.cs
- ModuleConfigurationInfo.cs
- Set.cs
- Animatable.cs
- ArglessEventHandlerProxy.cs
- LinkedList.cs
- FormViewUpdatedEventArgs.cs
- Evidence.cs
- StylusPoint.cs
- formatter.cs
- SQLBinary.cs
- RequestCacheManager.cs
- ResizeBehavior.cs
- AttachedAnnotationChangedEventArgs.cs
- DirectoryObjectSecurity.cs
- WebColorConverter.cs
- URLAttribute.cs
- ItemCheckEvent.cs
- ColorBlend.cs
- ThreadAttributes.cs
- RawMouseInputReport.cs
- uribuilder.cs
- SqlTriggerAttribute.cs
- OletxResourceManager.cs
- ValidatorCollection.cs
- COM2PropertyDescriptor.cs
- isolationinterop.cs
- ServiceDefaults.cs
- ValidationRule.cs
- ArgumentsParser.cs
- CustomError.cs