Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PasswordValidationException.cs
- CurrencyManager.cs
- LOSFormatter.cs
- TransformCollection.cs
- RegistryPermission.cs
- SimpleRecyclingCache.cs
- DateTimeSerializationSection.cs
- _NativeSSPI.cs
- Int64.cs
- Visual.cs
- EllipticalNodeOperations.cs
- WebPartCatalogAddVerb.cs
- EntityDataSourceStatementEditorForm.cs
- DetailsViewInsertEventArgs.cs
- DependencyPropertyChangedEventArgs.cs
- __Error.cs
- ServerIdentity.cs
- Documentation.cs
- FixedSOMGroup.cs
- SqlDataSourceConnectionPanel.cs
- GridEntryCollection.cs
- WebPartMovingEventArgs.cs
- prompt.cs
- ElementMarkupObject.cs
- Content.cs
- DropShadowEffect.cs
- PeerObject.cs
- ILGen.cs
- FormCollection.cs
- HttpCookie.cs
- EditorBrowsableAttribute.cs
- PolygonHotSpot.cs
- FixedSOMPageElement.cs
- ListControl.cs
- X509Extension.cs
- MultiView.cs
- Ray3DHitTestResult.cs
- COM2ComponentEditor.cs
- BulletChrome.cs
- PerfService.cs
- ListenerBinder.cs
- LoginStatusDesigner.cs
- RSAOAEPKeyExchangeDeformatter.cs
- FormsAuthenticationTicket.cs
- DocumentStatusResources.cs
- BuilderPropertyEntry.cs
- ResourceCategoryAttribute.cs
- PixelShader.cs
- ConfigurationHandlersInstallComponent.cs
- ParameterElement.cs
- COM2Enum.cs
- MachineKeySection.cs
- StringConverter.cs
- EncodingDataItem.cs
- SqlMetaData.cs
- UIAgentCrashedException.cs
- ImageMapEventArgs.cs
- SignatureDescription.cs
- TemplatedAdorner.cs
- BindingOperations.cs
- MobileControlsSectionHandler.cs
- Assert.cs
- HttpCookieCollection.cs
- SchemaTableOptionalColumn.cs
- TextServicesDisplayAttribute.cs
- SerializationTrace.cs
- ItemMap.cs
- FontEmbeddingManager.cs
- SafeCryptHandles.cs
- Stopwatch.cs
- OleDbPropertySetGuid.cs
- ComponentResourceKeyConverter.cs
- PingReply.cs
- ExpressionBindingCollection.cs
- ObjectSecurity.cs
- CommonEndpointBehaviorElement.cs
- SignatureToken.cs
- StylusPointCollection.cs
- IPHostEntry.cs
- CompressEmulationStream.cs
- GenericPrincipal.cs
- DependencyPropertyAttribute.cs
- StateDesigner.CommentLayoutGlyph.cs
- EventLogTraceListener.cs
- TextTreeTextNode.cs
- XPathAncestorQuery.cs
- Configuration.cs
- ClientRuntimeConfig.cs
- ValidationSummary.cs
- DesignerSelectionListAdapter.cs
- Utils.cs
- WindowsGraphicsWrapper.cs
- ReadOnlyCollectionBase.cs
- AddInIpcChannel.cs
- regiisutil.cs
- ContainerSelectorActiveEvent.cs
- ConfigXmlAttribute.cs
- WmlCalendarAdapter.cs
- ForeignKeyConstraint.cs
- KeyboardNavigation.cs