Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- LinearKeyFrames.cs
- ErrorTableItemStyle.cs
- SingleStorage.cs
- HostedHttpContext.cs
- BuildProvidersCompiler.cs
- Random.cs
- DataService.cs
- HttpFileCollection.cs
- DynamicILGenerator.cs
- SetStoryboardSpeedRatio.cs
- DesignerCatalogPartChrome.cs
- ThemeDirectoryCompiler.cs
- FormViewModeEventArgs.cs
- MimeObjectFactory.cs
- HasCopySemanticsAttribute.cs
- EventSetter.cs
- FileNameEditor.cs
- TreeNodeMouseHoverEvent.cs
- FixedSOMElement.cs
- DiscoveryClient.cs
- Soap.cs
- OleDbStruct.cs
- EllipticalNodeOperations.cs
- WindowsFormsDesignerOptionService.cs
- DecimalConverter.cs
- DesignerAdapterUtil.cs
- DoubleStorage.cs
- MetadataItem_Static.cs
- DefaultValueAttribute.cs
- XmlSchemaAnnotated.cs
- PlatformCulture.cs
- OleDbParameter.cs
- NoneExcludedImageIndexConverter.cs
- InstanceKeyCompleteException.cs
- WebBaseEventKeyComparer.cs
- EnumType.cs
- RoutedEventConverter.cs
- BrushMappingModeValidation.cs
- SoapSchemaMember.cs
- CompilationUtil.cs
- ZoneLinkButton.cs
- XmlSchemaException.cs
- FamilyMap.cs
- BoundColumn.cs
- SessionViewState.cs
- SettingsPropertyCollection.cs
- JournalEntryStack.cs
- CanonicalXml.cs
- GacUtil.cs
- FileLevelControlBuilderAttribute.cs
- MeshGeometry3D.cs
- SimpleMailWebEventProvider.cs
- HandledMouseEvent.cs
- ObjectDataSourceView.cs
- UidPropertyAttribute.cs
- DataGridTable.cs
- TreeNodeBinding.cs
- AvTrace.cs
- XLinq.cs
- DirectionalLight.cs
- XmlSchemaCompilationSettings.cs
- Action.cs
- PhonemeEventArgs.cs
- TableSectionStyle.cs
- UserPersonalizationStateInfo.cs
- FileAuthorizationModule.cs
- TreeNodeStyle.cs
- TypeElement.cs
- BamlLocalizableResourceKey.cs
- ListViewGroup.cs
- VirtualDirectoryMappingCollection.cs
- QuotedPrintableStream.cs
- TypeSource.cs
- OneOf.cs
- ValidationRule.cs
- ListControl.cs
- TextBoxView.cs
- SingleAnimationBase.cs
- HtmlEncodedRawTextWriter.cs
- EpmAttributeNameBuilder.cs
- DataTrigger.cs
- PermissionSetEnumerator.cs
- TemporaryBitmapFile.cs
- Speller.cs
- MinimizableAttributeTypeConverter.cs
- KeySplineConverter.cs
- ShapeTypeface.cs
- ApplicationFileParser.cs
- UIntPtr.cs
- ZipIOCentralDirectoryFileHeader.cs
- Point4DValueSerializer.cs
- AssemblyCache.cs
- handlecollector.cs
- DbConnectionPool.cs
- ObjectQuery.cs
- Fault.cs
- DataBindingExpressionBuilder.cs
- Tokenizer.cs
- ValidatorCollection.cs
- ScriptingSectionGroup.cs