Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- DbExpressionVisitor.cs
- SystemIPGlobalStatistics.cs
- RMEnrollmentPage1.cs
- ColumnWidthChangedEvent.cs
- NumberSubstitution.cs
- BoolExpressionVisitors.cs
- CommandHelpers.cs
- TextStore.cs
- FileDialogPermission.cs
- SocketInformation.cs
- ResourceManagerWrapper.cs
- RemoteWebConfigurationHostServer.cs
- StrokeCollectionConverter.cs
- AssemblyUtil.cs
- XmlSchemaInclude.cs
- Base64Encoding.cs
- TextTreeRootTextBlock.cs
- SolidColorBrush.cs
- DataPointer.cs
- httpapplicationstate.cs
- TextElementCollection.cs
- NavigationProperty.cs
- Math.cs
- EntityViewGenerationConstants.cs
- DocumentPageViewAutomationPeer.cs
- DiscoveryDocumentReference.cs
- OdbcConnection.cs
- Span.cs
- TickBar.cs
- ConfigurationErrorsException.cs
- FlowchartDesigner.xaml.cs
- DefaultValueConverter.cs
- BinaryWriter.cs
- HttpCachePolicy.cs
- IdentitySection.cs
- WorkflowPrinting.cs
- PtsContext.cs
- XmlUnspecifiedAttribute.cs
- CursorInteropHelper.cs
- TextLine.cs
- FlowDocumentFormatter.cs
- ResourceDescriptionAttribute.cs
- ListBoxItem.cs
- DataGridAutomationPeer.cs
- VScrollBar.cs
- SystemFonts.cs
- Task.cs
- DynamicDocumentPaginator.cs
- JoinElimination.cs
- ConnectorEditor.cs
- FixedSOMLineRanges.cs
- Quaternion.cs
- AppModelKnownContentFactory.cs
- ThreadStaticAttribute.cs
- SelectionGlyph.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ActivityExecutor.cs
- ButtonField.cs
- HMAC.cs
- MediaElementAutomationPeer.cs
- QilVisitor.cs
- SessionStateItemCollection.cs
- FixedDSBuilder.cs
- httpserverutility.cs
- TextTreeExtractElementUndoUnit.cs
- SqlCacheDependency.cs
- SqlNodeTypeOperators.cs
- DataGridRow.cs
- SplitContainerDesigner.cs
- Location.cs
- AppDomainFactory.cs
- Region.cs
- FunctionUpdateCommand.cs
- PropertyManager.cs
- PackageDigitalSignatureManager.cs
- QuaternionConverter.cs
- SqlInfoMessageEvent.cs
- WpfKnownMemberInvoker.cs
- GridViewUpdateEventArgs.cs
- ProfilePropertySettings.cs
- PreviewPrintController.cs
- StatusBarItem.cs
- ByteStreamMessageUtility.cs
- Schema.cs
- WSSecurityXXX2005.cs
- GenericTypeParameterConverter.cs
- LocatorBase.cs
- HtmlTitle.cs
- FreeFormPanel.cs
- GridViewRowCollection.cs
- UriTemplateMatch.cs
- DataBoundLiteralControl.cs
- CapabilitiesAssignment.cs
- StreamGeometry.cs
- SqlDataRecord.cs
- TextTreeTextNode.cs
- ReceiveContent.cs
- Directory.cs
- NonVisualControlAttribute.cs
- HiddenFieldPageStatePersister.cs