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
- Figure.cs
- FileRecordSequence.cs
- InputLanguageSource.cs
- _CacheStreams.cs
- ElementAtQueryOperator.cs
- ReaderWriterLock.cs
- ListenerAdapterBase.cs
- HtmlInputFile.cs
- NativeMethods.cs
- Module.cs
- SocketInformation.cs
- TextContainerChangedEventArgs.cs
- HTTPNotFoundHandler.cs
- WSSecurityOneDotOneReceiveSecurityHeader.cs
- SynchronizedPool.cs
- QilReplaceVisitor.cs
- GroupBoxDesigner.cs
- TextWriterTraceListener.cs
- ImplicitInputBrush.cs
- LayoutDump.cs
- Processor.cs
- EventLogPermission.cs
- EntityTypeBase.cs
- ExpressionReplacer.cs
- PropertyKey.cs
- RenderData.cs
- NavigationWindow.cs
- FieldMetadata.cs
- FillRuleValidation.cs
- IisTraceWebEventProvider.cs
- WindowsListViewItemStartMenu.cs
- ColorConvertedBitmap.cs
- AVElementHelper.cs
- MetadataPropertyCollection.cs
- BitStack.cs
- ReadOnlyNameValueCollection.cs
- DNS.cs
- InfoCardUIAgent.cs
- Formatter.cs
- CrossSiteScriptingValidation.cs
- XmlSecureResolver.cs
- DataColumnPropertyDescriptor.cs
- PropertyMetadata.cs
- RequiredFieldValidator.cs
- DragDrop.cs
- CallSite.cs
- TemplateBuilder.cs
- HandlerFactoryWrapper.cs
- HighContrastHelper.cs
- IndentedTextWriter.cs
- StreamWriter.cs
- EntityClassGenerator.cs
- MarkupCompiler.cs
- FixedSOMPageConstructor.cs
- EastAsianLunisolarCalendar.cs
- OdbcConnectionHandle.cs
- CodeEntryPointMethod.cs
- MultilineStringEditor.cs
- XmlSerializationGeneratedCode.cs
- Point3DKeyFrameCollection.cs
- BufferedStream.cs
- AmbientValueAttribute.cs
- AssemblyNameProxy.cs
- SqlUdtInfo.cs
- FixedSOMLineRanges.cs
- AssemblyAssociatedContentFileAttribute.cs
- IntSecurity.cs
- PropertyChangedEventArgs.cs
- DateTimeOffsetAdapter.cs
- BitStack.cs
- ReflectionTypeLoadException.cs
- AppSettingsExpressionEditor.cs
- ScriptComponentDescriptor.cs
- DuplexSecurityProtocolFactory.cs
- cache.cs
- SecurityVerifiedMessage.cs
- SystemEvents.cs
- StringKeyFrameCollection.cs
- StrongTypingException.cs
- RegistryPermission.cs
- AdornerPresentationContext.cs
- WasAdminWrapper.cs
- ConnectionManagementElement.cs
- SafeCryptContextHandle.cs
- ObjectStorage.cs
- WsatServiceAddress.cs
- PropertyEmitterBase.cs
- Rect3DConverter.cs
- List.cs
- SamlSecurityToken.cs
- StylusCaptureWithinProperty.cs
- TypeSystem.cs
- TypeForwardedToAttribute.cs
- SqlDataSourceSelectingEventArgs.cs
- Crypto.cs
- PreApplicationStartMethodAttribute.cs
- SByteConverter.cs
- MethodBody.cs
- AddInDeploymentState.cs
- BookmarkEventArgs.cs