Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TrackBarRenderer.cs
- HtmlInputHidden.cs
- SafeCryptContextHandle.cs
- Random.cs
- PeerPresenceInfo.cs
- ImageCodecInfoPrivate.cs
- DataGridViewRowStateChangedEventArgs.cs
- PointKeyFrameCollection.cs
- ObjectDisposedException.cs
- RtfNavigator.cs
- BinaryCommonClasses.cs
- IndicFontClient.cs
- ConfigsHelper.cs
- GridViewUpdatedEventArgs.cs
- BitConverter.cs
- OdbcException.cs
- Tracking.cs
- WCFBuildProvider.cs
- MethodBody.cs
- BindingList.cs
- DataError.cs
- HelpProvider.cs
- Vector3DCollection.cs
- TemplateField.cs
- SectionUpdates.cs
- SkipQueryOptionExpression.cs
- RenderData.cs
- FilteredXmlReader.cs
- ServiceEndpointAssociationProvider.cs
- WebBrowserNavigatedEventHandler.cs
- CodeObject.cs
- DBConnection.cs
- SineEase.cs
- MarkupObject.cs
- Size3DConverter.cs
- wgx_exports.cs
- ComplusEndpointConfigContainer.cs
- LayoutEditorPart.cs
- DbConnectionStringBuilder.cs
- EmptyControlCollection.cs
- StrokeIntersection.cs
- SourceItem.cs
- DataBoundControlAdapter.cs
- DesignerTransaction.cs
- Utils.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- ModuleBuilder.cs
- MatrixKeyFrameCollection.cs
- DataGridHeaderBorder.cs
- HashSetDebugView.cs
- RelatedPropertyManager.cs
- SubqueryRules.cs
- BindingGroup.cs
- RequestCachePolicyConverter.cs
- QueryBranchOp.cs
- SecurityTokenValidationException.cs
- FontWeight.cs
- PageScaling.cs
- ClientBuildManager.cs
- WizardStepCollectionEditor.cs
- ExpressionSelection.cs
- TabletDevice.cs
- OlePropertyStructs.cs
- OracleFactory.cs
- VisualStyleElement.cs
- XmlDocumentFragment.cs
- SystemTcpStatistics.cs
- ToReply.cs
- XmlReflectionImporter.cs
- XmlSchemaAnnotated.cs
- PageCache.cs
- DependencyObjectType.cs
- LinkLabel.cs
- DataShape.cs
- ConvertEvent.cs
- HttpDebugHandler.cs
- XmlSchemaObjectTable.cs
- TreeBuilder.cs
- BlurBitmapEffect.cs
- DesignerTextViewAdapter.cs
- InstanceLockLostException.cs
- HashFinalRequest.cs
- BooleanAnimationBase.cs
- WindowsSpinner.cs
- TerminatorSinks.cs
- CapabilitiesState.cs
- SqlBulkCopyColumnMapping.cs
- ServerIdentity.cs
- EmptyCollection.cs
- GlyphCache.cs
- FrameworkElementAutomationPeer.cs
- XmlText.cs
- DiscoveryClientDocuments.cs
- DesignerDeviceConfig.cs
- ComponentManagerBroker.cs
- RegexReplacement.cs
- ClientTarget.cs
- Enlistment.cs
- HtmlInputText.cs
- COM2FontConverter.cs