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
- WhereaboutsReader.cs
- TranslateTransform3D.cs
- BamlRecordReader.cs
- QueryOptionExpression.cs
- XmlSchemaAttributeGroupRef.cs
- TextAutomationPeer.cs
- XpsSerializerWriter.cs
- XamlReaderConstants.cs
- COAUTHIDENTITY.cs
- UserPreferenceChangedEventArgs.cs
- TextCharacters.cs
- PrePostDescendentsWalker.cs
- SQLDateTimeStorage.cs
- FormViewUpdatedEventArgs.cs
- DataGridViewCellLinkedList.cs
- ListenerSingletonConnectionReader.cs
- ProfileServiceManager.cs
- CDSsyncETWBCLProvider.cs
- MenuItemStyle.cs
- IIS7WorkerRequest.cs
- Zone.cs
- GridLength.cs
- StyleCollectionEditor.cs
- SqlException.cs
- SQLInt32.cs
- DataRowView.cs
- PointAnimation.cs
- LabelDesigner.cs
- ChannelSinkStacks.cs
- Interlocked.cs
- XmlSchemaSet.cs
- ProxyGenerationError.cs
- FormsAuthenticationUserCollection.cs
- HtmlToClrEventProxy.cs
- InspectionWorker.cs
- MimeParameter.cs
- CallbackHandler.cs
- MetadataArtifactLoaderCompositeResource.cs
- EventMappingSettings.cs
- CharStorage.cs
- DataIdProcessor.cs
- XmlCodeExporter.cs
- ByteStack.cs
- MenuStrip.cs
- Random.cs
- IsolatedStorage.cs
- QueryResponse.cs
- MetricEntry.cs
- _NTAuthentication.cs
- Cloud.cs
- PermissionSetTriple.cs
- SmiRequestExecutor.cs
- HTMLTextWriter.cs
- TableRowGroup.cs
- ComboBoxRenderer.cs
- Animatable.cs
- DataGridViewButtonColumn.cs
- ConfigurationManagerInternalFactory.cs
- ReferencedCollectionType.cs
- Types.cs
- ReliableChannelListener.cs
- Authorization.cs
- CompilerCollection.cs
- Utils.cs
- SchemaComplexType.cs
- StorageComplexPropertyMapping.cs
- UrlMappingsSection.cs
- PropertyPathWorker.cs
- SqlEnums.cs
- IssuerInformation.cs
- XslAstAnalyzer.cs
- XmlSerializableReader.cs
- Control.cs
- CryptoProvider.cs
- DbDataSourceEnumerator.cs
- AuthenticatedStream.cs
- ListParaClient.cs
- String.cs
- ProcessInputEventArgs.cs
- NamespaceImport.cs
- PersonalizableTypeEntry.cs
- ToolStripControlHost.cs
- PathFigure.cs
- TextRangeEditLists.cs
- NavigationWindow.cs
- DrawingCollection.cs
- ScriptIgnoreAttribute.cs
- PrinterResolution.cs
- RsaSecurityTokenAuthenticator.cs
- LinkedResource.cs
- Geometry.cs
- ResourceDictionaryCollection.cs
- TemplateXamlTreeBuilder.cs
- DataGridTableCollection.cs
- CommonObjectSecurity.cs
- NumberSubstitution.cs
- X509CertificateCollection.cs
- ColorTranslator.cs
- StorageMappingFragment.cs
- SystemIPInterfaceStatistics.cs