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
- util.cs
- Trigger.cs
- TokenCreationException.cs
- GridEntry.cs
- TdsParserStateObject.cs
- EventHandlingScope.cs
- DbParameterCollectionHelper.cs
- SafeLibraryHandle.cs
- AnnotationComponentManager.cs
- MetadataArtifactLoaderCompositeFile.cs
- ColorPalette.cs
- CodeTypeDeclarationCollection.cs
- MetadataArtifactLoaderResource.cs
- RtfToken.cs
- WindowsComboBox.cs
- _AutoWebProxyScriptWrapper.cs
- EdmScalarPropertyAttribute.cs
- EventLogRecord.cs
- UnsafeMethods.cs
- OracleConnectionStringBuilder.cs
- XmlNullResolver.cs
- CollectionViewGroupInternal.cs
- DataGridRow.cs
- ContextBase.cs
- OrderByBuilder.cs
- StringFunctions.cs
- AnnotationDocumentPaginator.cs
- LinqToSqlWrapper.cs
- SectionInformation.cs
- LayoutTableCell.cs
- DefaultTextStore.cs
- HttpHandlersInstallComponent.cs
- IFormattable.cs
- EncryptedPackage.cs
- HttpCapabilitiesSectionHandler.cs
- ScriptingJsonSerializationSection.cs
- MsmqIntegrationProcessProtocolHandler.cs
- CoTaskMemHandle.cs
- StructuralType.cs
- EncodingDataItem.cs
- ValidatedControlConverter.cs
- OdbcReferenceCollection.cs
- Typeface.cs
- BlurEffect.cs
- DesignerCommandSet.cs
- Geometry3D.cs
- tibetanshape.cs
- TypeSystemProvider.cs
- MenuCommand.cs
- Matrix.cs
- MatrixKeyFrameCollection.cs
- TrailingSpaceComparer.cs
- AspNetHostingPermission.cs
- LineBreakRecord.cs
- MeasureData.cs
- SystemIcmpV6Statistics.cs
- ListViewInsertionMark.cs
- ForceCopyBuildProvider.cs
- EtwTrackingBehavior.cs
- WithStatement.cs
- HttpRuntimeSection.cs
- SHA384Managed.cs
- WizardSideBarListControlItem.cs
- ResolveInfo.cs
- Axis.cs
- Scene3D.cs
- Panel.cs
- MSAAEventDispatcher.cs
- DataGridView.cs
- ClickablePoint.cs
- Schema.cs
- ConfigXmlComment.cs
- StringSorter.cs
- ErrorHandler.cs
- ProtectedConfigurationSection.cs
- ErrorBehavior.cs
- NavigationWindow.cs
- StylusButtonCollection.cs
- BroadcastEventHelper.cs
- CreateUserErrorEventArgs.cs
- Transform3D.cs
- DefaultIfEmptyQueryOperator.cs
- UnsafeNativeMethods.cs
- NameValueSectionHandler.cs
- ClientScriptManager.cs
- SynchronizedChannelCollection.cs
- DecimalAverageAggregationOperator.cs
- TrackingExtract.cs
- HtmlLink.cs
- ObsoleteAttribute.cs
- ActivityWithResultConverter.cs
- Drawing.cs
- EntityDataReader.cs
- DocumentsTrace.cs
- DisableDpiAwarenessAttribute.cs
- ChangeProcessor.cs
- KeyboardNavigation.cs
- SqlDataSourceCache.cs
- TreeBuilderBamlTranslator.cs
- jithelpers.cs