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
- WSDualHttpBinding.cs
- ImpersonationContext.cs
- ImageField.cs
- MonthCalendar.cs
- MapPathBasedVirtualPathProvider.cs
- RepeaterItem.cs
- TimeoutHelper.cs
- SerializationObjectManager.cs
- DbConnectionStringBuilder.cs
- CaseExpr.cs
- QueryCacheManager.cs
- CodeExporter.cs
- SizeConverter.cs
- RemotingClientProxy.cs
- BlurBitmapEffect.cs
- EventSinkActivityDesigner.cs
- DataKey.cs
- RSAPKCS1KeyExchangeFormatter.cs
- TextDataBindingHandler.cs
- AnimatedTypeHelpers.cs
- C14NUtil.cs
- RSAPKCS1SignatureFormatter.cs
- XmlChoiceIdentifierAttribute.cs
- SharedDp.cs
- BrushValueSerializer.cs
- CopyAttributesAction.cs
- ApplicationSecurityManager.cs
- FactoryGenerator.cs
- TrackBarRenderer.cs
- LinqDataSourceInsertEventArgs.cs
- TypeEnumerableViewSchema.cs
- SimpleWorkerRequest.cs
- StrokeFIndices.cs
- ScriptServiceAttribute.cs
- Token.cs
- _HelperAsyncResults.cs
- PenCursorManager.cs
- CodeTypeReferenceCollection.cs
- CharEnumerator.cs
- TableAutomationPeer.cs
- ProviderSettingsCollection.cs
- SystemPens.cs
- Utils.cs
- ProcessExitedException.cs
- AssemblyBuilder.cs
- TextBox.cs
- PageAsyncTaskManager.cs
- PerformanceCounterPermissionEntryCollection.cs
- OdbcFactory.cs
- SqlCrossApplyToCrossJoin.cs
- AuthStoreRoleProvider.cs
- DataShape.cs
- Transform3DGroup.cs
- followingquery.cs
- WindowVisualStateTracker.cs
- QueryParameter.cs
- SoapExtension.cs
- SelectionHighlightInfo.cs
- HttpContextWrapper.cs
- Psha1DerivedKeyGenerator.cs
- DesignerCategoryAttribute.cs
- ExpandCollapsePattern.cs
- HtmlTableCell.cs
- RuntimeCompatibilityAttribute.cs
- MethodBuilder.cs
- Opcode.cs
- ExpressionBuilder.cs
- AccessibilityHelperForXpWin2k3.cs
- SourceItem.cs
- ShaderRenderModeValidation.cs
- XmlValidatingReaderImpl.cs
- EntityCollection.cs
- SystemIdentity.cs
- GeometryCombineModeValidation.cs
- StyleSelector.cs
- ColorAnimationBase.cs
- ZoneButton.cs
- RadioButton.cs
- DecoderFallback.cs
- TogglePatternIdentifiers.cs
- BaseParser.cs
- QilVisitor.cs
- ListSourceHelper.cs
- WorkflowServiceHost.cs
- CodeMemberMethod.cs
- XamlGridLengthSerializer.cs
- EventLogTraceListener.cs
- IdnElement.cs
- Variant.cs
- ConfigXmlElement.cs
- EditingMode.cs
- DataGridViewCellStateChangedEventArgs.cs
- ClientSettings.cs
- UnsafeNativeMethods.cs
- MailAddressCollection.cs
- OdbcException.cs
- TcpChannelHelper.cs
- RightsManagementManager.cs
- DPCustomTypeDescriptor.cs
- LinkConverter.cs