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
- Unit.cs
- EpmTargetPathSegment.cs
- PathFigureCollection.cs
- SimpleParser.cs
- StackSpiller.Temps.cs
- DecimalStorage.cs
- PKCS1MaskGenerationMethod.cs
- MarginsConverter.cs
- WCFBuildProvider.cs
- Crc32Helper.cs
- GridEntry.cs
- SequenceNumber.cs
- BamlReader.cs
- ExpressionTextBox.xaml.cs
- BorderSidesEditor.cs
- SqlTransaction.cs
- _ListenerResponseStream.cs
- Label.cs
- CorePropertiesFilter.cs
- ListViewGroup.cs
- InvokeAction.cs
- DataGridViewElement.cs
- DateTimeFormatInfo.cs
- _SecureChannel.cs
- WebServicesSection.cs
- SqlRowUpdatedEvent.cs
- SelectionProcessor.cs
- ModuleBuilder.cs
- nulltextnavigator.cs
- SID.cs
- DynamicRendererThreadManager.cs
- ToolstripProfessionalRenderer.cs
- StickyNote.cs
- StorageModelBuildProvider.cs
- DynamicDiscoSearcher.cs
- NominalTypeEliminator.cs
- FormViewDeletedEventArgs.cs
- XmlIgnoreAttribute.cs
- MetadataException.cs
- MetadataException.cs
- BaseInfoTable.cs
- PathGeometry.cs
- BindingListCollectionView.cs
- DataExpression.cs
- EtwTrace.cs
- Int32AnimationUsingKeyFrames.cs
- TrackingStringDictionary.cs
- HtmlInputReset.cs
- newinstructionaction.cs
- GroupBox.cs
- ApplicationProxyInternal.cs
- LayoutDump.cs
- Command.cs
- XmlCountingReader.cs
- CodeStatement.cs
- XmlSerializationGeneratedCode.cs
- XmlSchemaNotation.cs
- CryptoConfig.cs
- QuinticEase.cs
- SettingsPropertyNotFoundException.cs
- ExpressionContext.cs
- SqlOuterApplyReducer.cs
- DirectoryObjectSecurity.cs
- CFGGrammar.cs
- AdornerPresentationContext.cs
- WebPartActionVerb.cs
- CheckableControlBaseAdapter.cs
- TagMapCollection.cs
- AVElementHelper.cs
- SimpleTableProvider.cs
- DateTimeValueSerializerContext.cs
- CFStream.cs
- LayoutTable.cs
- ImageInfo.cs
- ComponentDispatcher.cs
- GroupBox.cs
- __FastResourceComparer.cs
- ImageAttributes.cs
- ToggleProviderWrapper.cs
- TdsParserStaticMethods.cs
- CustomErrorsSection.cs
- FlowDocumentReaderAutomationPeer.cs
- BrowserCapabilitiesFactory.cs
- ConfigurationPropertyCollection.cs
- Utils.cs
- KnownIds.cs
- PasswordValidationException.cs
- WhitespaceReader.cs
- RedirectionProxy.cs
- TextTreeFixupNode.cs
- WebDescriptionAttribute.cs
- WindowsTreeView.cs
- GenericUriParser.cs
- ClearCollection.cs
- SafeProcessHandle.cs
- ValuePattern.cs
- ProfileGroupSettings.cs
- ButtonField.cs
- SerialReceived.cs
- MembershipPasswordException.cs