Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / WinForms / Managed / System / WinForms / ToolStripOverflowButton.cs / 1 / ToolStripOverflowButton.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.Collections; using System.ComponentModel; using System.Drawing; using System.Diagnostics; using System.Windows.Forms.Design; ////// /// ToolStripOverflowButton /// [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.None)] public class ToolStripOverflowButton : ToolStripDropDownButton { // we need to cache this away as the Parent property gets reset a lot. private ToolStrip parentToolStrip; ///[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] internal ToolStripOverflowButton(ToolStrip parentToolStrip) { SupportsItemClick = false; this.parentToolStrip = parentToolStrip; } /// protected internal override Padding DefaultMargin { get { return Padding.Empty; } } /// public override bool HasDropDownItems { get { return this.ParentInternal.OverflowItems.Count > 0; } } internal override bool OppositeDropDownAlign { get { return true; } } internal ToolStrip ParentToolStrip { get { return parentToolStrip; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new bool RightToLeftAutoMirrorImage { get { return base.RightToLeftAutoMirrorImage; } set { base.RightToLeftAutoMirrorImage = value; } } protected override AccessibleObject CreateAccessibilityInstance() { return new ToolStripOverflowButtonAccessibleObject(this); } /// protected override ToolStripDropDown CreateDefaultDropDown() { // AutoGenerate a Winbar DropDown - set the property so we hook events return new ToolStripOverflow(this); } /// public override Size GetPreferredSize(Size constrainingSize) { Size preferredSize = constrainingSize; if (this.ParentInternal != null) { if (this.ParentInternal.Orientation == Orientation.Horizontal) { preferredSize.Width = Math.Min(constrainingSize.Width, 16); } else { preferredSize.Height = Math.Min(constrainingSize.Height, 16); } } return preferredSize + this.Padding.Size; } // make sure the Overflow button extends from edge-edge. (Ignore Padding/Margin). internal protected override void SetBounds(Rectangle bounds) { if (ParentInternal != null && ParentInternal.LayoutEngine is ToolStripSplitStackLayout) { if (ParentInternal.Orientation == Orientation.Horizontal) { bounds.Height = ParentInternal.Height; bounds.Y = 0; } else { bounds.Width = ParentInternal.Width; bounds.X = 0; } } base.SetBounds(bounds); } /// protected override void OnPaint(PaintEventArgs e) { if (this.ParentInternal != null) { ToolStripRenderer renderer = this.ParentInternal.Renderer; renderer.DrawOverflowButtonBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); } } internal class ToolStripOverflowButtonAccessibleObject : ToolStripDropDownItemAccessibleObject { private string stockName; public ToolStripOverflowButtonAccessibleObject(ToolStripOverflowButton owner) : base(owner){ } public override string Name { get { string name = Owner.AccessibleName; if (name != null) { return name; } if (string.IsNullOrEmpty(stockName)) { stockName = SR.GetString(SR.ToolStripOptions); } return stockName; } set { base.Name = value; } } } } } // 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.Collections; using System.ComponentModel; using System.Drawing; using System.Diagnostics; using System.Windows.Forms.Design; ////// /// ToolStripOverflowButton /// [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.None)] public class ToolStripOverflowButton : ToolStripDropDownButton { // we need to cache this away as the Parent property gets reset a lot. private ToolStrip parentToolStrip; ///[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] internal ToolStripOverflowButton(ToolStrip parentToolStrip) { SupportsItemClick = false; this.parentToolStrip = parentToolStrip; } /// protected internal override Padding DefaultMargin { get { return Padding.Empty; } } /// public override bool HasDropDownItems { get { return this.ParentInternal.OverflowItems.Count > 0; } } internal override bool OppositeDropDownAlign { get { return true; } } internal ToolStrip ParentToolStrip { get { return parentToolStrip; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new bool RightToLeftAutoMirrorImage { get { return base.RightToLeftAutoMirrorImage; } set { base.RightToLeftAutoMirrorImage = value; } } protected override AccessibleObject CreateAccessibilityInstance() { return new ToolStripOverflowButtonAccessibleObject(this); } /// protected override ToolStripDropDown CreateDefaultDropDown() { // AutoGenerate a Winbar DropDown - set the property so we hook events return new ToolStripOverflow(this); } /// public override Size GetPreferredSize(Size constrainingSize) { Size preferredSize = constrainingSize; if (this.ParentInternal != null) { if (this.ParentInternal.Orientation == Orientation.Horizontal) { preferredSize.Width = Math.Min(constrainingSize.Width, 16); } else { preferredSize.Height = Math.Min(constrainingSize.Height, 16); } } return preferredSize + this.Padding.Size; } // make sure the Overflow button extends from edge-edge. (Ignore Padding/Margin). internal protected override void SetBounds(Rectangle bounds) { if (ParentInternal != null && ParentInternal.LayoutEngine is ToolStripSplitStackLayout) { if (ParentInternal.Orientation == Orientation.Horizontal) { bounds.Height = ParentInternal.Height; bounds.Y = 0; } else { bounds.Width = ParentInternal.Width; bounds.X = 0; } } base.SetBounds(bounds); } /// protected override void OnPaint(PaintEventArgs e) { if (this.ParentInternal != null) { ToolStripRenderer renderer = this.ParentInternal.Renderer; renderer.DrawOverflowButtonBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); } } internal class ToolStripOverflowButtonAccessibleObject : ToolStripDropDownItemAccessibleObject { private string stockName; public ToolStripOverflowButtonAccessibleObject(ToolStripOverflowButton owner) : base(owner){ } public override string Name { get { string name = Owner.AccessibleName; if (name != null) { return name; } if (string.IsNullOrEmpty(stockName)) { stockName = SR.GetString(SR.ToolStripOptions); } return stockName; } set { base.Name = value; } } } } } // 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
- URLString.cs
- JavaScriptSerializer.cs
- SoapCodeExporter.cs
- EasingKeyFrames.cs
- TransformerInfoCollection.cs
- TiffBitmapDecoder.cs
- CodeEntryPointMethod.cs
- EntityTransaction.cs
- ComponentCollection.cs
- CookieParameter.cs
- MimeTypePropertyAttribute.cs
- Timer.cs
- UserControl.cs
- nulltextnavigator.cs
- ConfigurationException.cs
- MethodExpr.cs
- SafeThemeHandle.cs
- AutomationIdentifier.cs
- ValueTypeIndexerReference.cs
- SqlDataSourceQueryEditor.cs
- AttachmentCollection.cs
- XmlLoader.cs
- SQLByteStorage.cs
- DbConnectionPool.cs
- DataGridTextBox.cs
- XmlIlVisitor.cs
- MessageQueue.cs
- DbMetaDataFactory.cs
- DrawingVisualDrawingContext.cs
- DiscoveryEndpointValidator.cs
- XmlCharType.cs
- DefinitionBase.cs
- PromptBuilder.cs
- TransformerInfoCollection.cs
- WindowsListViewSubItem.cs
- DBConnection.cs
- WorkflowWebService.cs
- WebPartZoneCollection.cs
- LinearGradientBrush.cs
- XmlSignatureProperties.cs
- ConnectionStringsSection.cs
- HtmlTableRow.cs
- RectAnimationBase.cs
- SoapFault.cs
- BrowserInteropHelper.cs
- DataContractJsonSerializerOperationFormatter.cs
- DelegateInArgument.cs
- DtrList.cs
- DbConnectionPoolCounters.cs
- WindowsSysHeader.cs
- BoolExpression.cs
- NumberFormatter.cs
- DirectoryRootQuery.cs
- XPathParser.cs
- SQLInt64Storage.cs
- XmlDocumentFragment.cs
- MailAddressParser.cs
- LinqToSqlWrapper.cs
- WebEventCodes.cs
- RenderData.cs
- base64Transforms.cs
- BindingNavigator.cs
- LinkArea.cs
- AnnotationResourceCollection.cs
- XmlDeclaration.cs
- AssociationSetMetadata.cs
- TypeContext.cs
- FormattedText.cs
- Operator.cs
- NamespaceEmitter.cs
- HttpConfigurationSystem.cs
- TemplateBamlTreeBuilder.cs
- MultiAsyncResult.cs
- SafeIUnknown.cs
- hresults.cs
- KeyedCollection.cs
- GradientBrush.cs
- GenerateTemporaryTargetAssembly.cs
- ListViewDeletedEventArgs.cs
- CheckBoxRenderer.cs
- UnsafeNativeMethods.cs
- HttpClientCertificate.cs
- JsonClassDataContract.cs
- EnterpriseServicesHelper.cs
- CollaborationHelperFunctions.cs
- PersonalizationEntry.cs
- QilSortKey.cs
- DocumentGrid.cs
- ArrangedElement.cs
- CodeAttachEventStatement.cs
- Convert.cs
- BaseComponentEditor.cs
- MailBnfHelper.cs
- ComplexType.cs
- AccessText.cs
- Nodes.cs
- RenderDataDrawingContext.cs
- ModelTreeEnumerator.cs
- WebPageTraceListener.cs
- SyndicationDeserializer.cs