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
- SqlCacheDependencySection.cs
- RestrictedTransactionalPackage.cs
- SizeAnimationClockResource.cs
- EventMappingSettingsCollection.cs
- RSAPKCS1SignatureDeformatter.cs
- DataSourceUtil.cs
- PerformanceCounterPermissionEntry.cs
- StructuredTypeInfo.cs
- InitializerFacet.cs
- AsyncOperation.cs
- DeleteIndexBinder.cs
- DNS.cs
- RegionInfo.cs
- TemplateBindingExtension.cs
- Rotation3DAnimationBase.cs
- Application.cs
- XmlFormatExtensionPrefixAttribute.cs
- SystemResources.cs
- StrokeSerializer.cs
- QuotedPrintableStream.cs
- EventlogProvider.cs
- Fx.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- XmlParserContext.cs
- AuthenticationService.cs
- AppSettingsExpressionEditor.cs
- PerformanceCounterPermissionAttribute.cs
- Propagator.JoinPropagator.cs
- DbQueryCommandTree.cs
- ReaderOutput.cs
- ColorMatrix.cs
- UxThemeWrapper.cs
- Util.cs
- MenuItemCollection.cs
- SQLBytes.cs
- DataObjectAttribute.cs
- PropertyInformation.cs
- DbException.cs
- IMembershipProvider.cs
- DataContractSerializerElement.cs
- FastEncoderWindow.cs
- DrawListViewItemEventArgs.cs
- InstanceData.cs
- StorageRoot.cs
- TagPrefixInfo.cs
- PermissionAttributes.cs
- SettingsPropertyNotFoundException.cs
- WebServiceHost.cs
- PseudoWebRequest.cs
- SoapException.cs
- SelectionEditingBehavior.cs
- TableSectionStyle.cs
- Matrix3D.cs
- CodeExpressionCollection.cs
- BridgeDataReader.cs
- ClientRuntimeConfig.cs
- Storyboard.cs
- PerformanceCounterNameAttribute.cs
- FlatButtonAppearance.cs
- ZipArchive.cs
- AuthorizationBehavior.cs
- Hashtable.cs
- DateTimeOffsetAdapter.cs
- XmlRootAttribute.cs
- CacheChildrenQuery.cs
- Effect.cs
- SHA1Cng.cs
- HtmlToClrEventProxy.cs
- GridViewCellAutomationPeer.cs
- ReservationCollection.cs
- DataGridViewRow.cs
- SafeRightsManagementQueryHandle.cs
- CollectionType.cs
- StorageMappingItemCollection.cs
- ReadWriteControlDesigner.cs
- TextBreakpoint.cs
- TryLoadRunnableWorkflowCommand.cs
- Timeline.cs
- PageThemeParser.cs
- IListConverters.cs
- BrowserTree.cs
- RegexCompiler.cs
- DesignerSelectionListAdapter.cs
- DataGridViewToolTip.cs
- XsltException.cs
- TemplateBindingExtensionConverter.cs
- Converter.cs
- TileModeValidation.cs
- BufferAllocator.cs
- SkipQueryOptionExpression.cs
- Wildcard.cs
- TableAutomationPeer.cs
- HitTestFilterBehavior.cs
- DataGridLinkButton.cs
- Literal.cs
- QueueProcessor.cs
- connectionpool.cs
- Model3DGroup.cs
- RoleGroupCollection.cs
- VersionValidator.cs