Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / ToolStripStatusLabel.cs / 1 / ToolStripStatusLabel.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Design; using System.Diagnostics; using System.Windows.Forms.ButtonInternal; using System.Security.Permissions; using System.Security; using System.Windows.Forms.Layout; using System.Windows.Forms.Design; ////// /// A non selectable winbar item /// [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.StatusStrip)] public class ToolStripStatusLabel : ToolStripLabel { private Border3DStyle borderStyle = Border3DStyle.Flat; private ToolStripStatusLabelBorderSides borderSides = ToolStripStatusLabelBorderSides.None; private bool spring = false; ////// /// A non selectable winbar item /// public ToolStripStatusLabel() { } public ToolStripStatusLabel(string text):base(text,null,false,null) { } public ToolStripStatusLabel(Image image):base(null,image,false,null) { } public ToolStripStatusLabel(string text, Image image):base(text,image,false,null) { } public ToolStripStatusLabel(string text, Image image, EventHandler onClick):base(text,image,/*isLink=*/false,onClick,null) { } public ToolStripStatusLabel(string text, Image image, EventHandler onClick, string name) :base(text,image,/*isLink=*/false,onClick, name) { } ////// Creates an instance of the object that defines how image and text /// gets laid out in the ToolStripItem /// internal override ToolStripItemInternalLayout CreateInternalLayout() { return new ToolStripStatusLabelLayout(this); } [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] public new ToolStripItemAlignment Alignment { get { return base.Alignment; } set { base.Alignment = value; } } ///[ DefaultValue(Border3DStyle.Flat), SRDescription(SR.ToolStripStatusLabelBorderStyleDescr), SRCategory(SR.CatAppearance) ] public Border3DStyle BorderStyle { get { return borderStyle; } set { if (!ClientUtils.IsEnumValid_NotSequential(value, (int)value, (int)Border3DStyle.Adjust, (int)Border3DStyle.Bump, (int)Border3DStyle.Etched, (int)Border3DStyle.Flat, (int)Border3DStyle.Raised, (int)Border3DStyle.RaisedInner, (int)Border3DStyle.RaisedOuter, (int)Border3DStyle.Sunken, (int)Border3DStyle.SunkenInner, (int)Border3DStyle.SunkenOuter )) { throw new InvalidEnumArgumentException("value", (int)value, typeof(Border3DStyle)); } if (borderStyle != value) { borderStyle = value; Invalidate(); } } } /// [ DefaultValue(ToolStripStatusLabelBorderSides.None), SRDescription(SR.ToolStripStatusLabelBorderSidesDescr), SRCategory(SR.CatAppearance) ] public ToolStripStatusLabelBorderSides BorderSides { get { return borderSides; } set { // no Enum.IsDefined as this is a flags enum. if (borderSides != value) { borderSides = value; LayoutTransaction.DoLayout(Owner,this, PropertyNames.BorderStyle); Invalidate(); } } } protected internal override Padding DefaultMargin { get { return new Padding(0, 3, 0, 2); } } [ DefaultValue(false), SRDescription(SR.ToolStripStatusLabelSpringDescr), SRCategory(SR.CatAppearance) ] public bool Spring { get { return spring; } set { if (spring != value) { spring = value; if (ParentInternal != null) { LayoutTransaction.DoLayout(ParentInternal, this, PropertyNames.Spring); } } } } public override System.Drawing.Size GetPreferredSize(System.Drawing.Size constrainingSize) { if (BorderSides != ToolStripStatusLabelBorderSides.None) { return base.GetPreferredSize(constrainingSize) + new Size(4, 4); } else { return base.GetPreferredSize(constrainingSize); } } /// /// /// Inheriting classes should override this method to handle this event. /// protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { if (this.Owner != null) { ToolStripRenderer renderer = this.Renderer; renderer.DrawToolStripStatusLabelBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); if ((DisplayStyle & ToolStripItemDisplayStyle.Image) == ToolStripItemDisplayStyle.Image) { renderer.DrawItemImage(new ToolStripItemImageRenderEventArgs(e.Graphics, this, InternalLayout.ImageRectangle)); } PaintText(e.Graphics); } } ////// This class performs internal layout for the "split button button" portion of a split button. /// Its main job is to make sure the inner button has the same parent as the split button, so /// that layout can be performed using the correct graphics context. /// private class ToolStripStatusLabelLayout : ToolStripItemInternalLayout { ToolStripStatusLabel owner; public ToolStripStatusLabelLayout(ToolStripStatusLabel owner) : base(owner) { this.owner = owner; } protected override ToolStripItemLayoutOptions CommonLayoutOptions() { ToolStripItemLayoutOptions layoutOptions = base.CommonLayoutOptions(); layoutOptions.borderSize = 0; return layoutOptions; } } } } // 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.Drawing.Design; using System.Diagnostics; using System.Windows.Forms.ButtonInternal; using System.Security.Permissions; using System.Security; using System.Windows.Forms.Layout; using System.Windows.Forms.Design; ////// /// A non selectable winbar item /// [ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.StatusStrip)] public class ToolStripStatusLabel : ToolStripLabel { private Border3DStyle borderStyle = Border3DStyle.Flat; private ToolStripStatusLabelBorderSides borderSides = ToolStripStatusLabelBorderSides.None; private bool spring = false; ////// /// A non selectable winbar item /// public ToolStripStatusLabel() { } public ToolStripStatusLabel(string text):base(text,null,false,null) { } public ToolStripStatusLabel(Image image):base(null,image,false,null) { } public ToolStripStatusLabel(string text, Image image):base(text,image,false,null) { } public ToolStripStatusLabel(string text, Image image, EventHandler onClick):base(text,image,/*isLink=*/false,onClick,null) { } public ToolStripStatusLabel(string text, Image image, EventHandler onClick, string name) :base(text,image,/*isLink=*/false,onClick, name) { } ////// Creates an instance of the object that defines how image and text /// gets laid out in the ToolStripItem /// internal override ToolStripItemInternalLayout CreateInternalLayout() { return new ToolStripStatusLabelLayout(this); } [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Advanced)] public new ToolStripItemAlignment Alignment { get { return base.Alignment; } set { base.Alignment = value; } } ///[ DefaultValue(Border3DStyle.Flat), SRDescription(SR.ToolStripStatusLabelBorderStyleDescr), SRCategory(SR.CatAppearance) ] public Border3DStyle BorderStyle { get { return borderStyle; } set { if (!ClientUtils.IsEnumValid_NotSequential(value, (int)value, (int)Border3DStyle.Adjust, (int)Border3DStyle.Bump, (int)Border3DStyle.Etched, (int)Border3DStyle.Flat, (int)Border3DStyle.Raised, (int)Border3DStyle.RaisedInner, (int)Border3DStyle.RaisedOuter, (int)Border3DStyle.Sunken, (int)Border3DStyle.SunkenInner, (int)Border3DStyle.SunkenOuter )) { throw new InvalidEnumArgumentException("value", (int)value, typeof(Border3DStyle)); } if (borderStyle != value) { borderStyle = value; Invalidate(); } } } /// [ DefaultValue(ToolStripStatusLabelBorderSides.None), SRDescription(SR.ToolStripStatusLabelBorderSidesDescr), SRCategory(SR.CatAppearance) ] public ToolStripStatusLabelBorderSides BorderSides { get { return borderSides; } set { // no Enum.IsDefined as this is a flags enum. if (borderSides != value) { borderSides = value; LayoutTransaction.DoLayout(Owner,this, PropertyNames.BorderStyle); Invalidate(); } } } protected internal override Padding DefaultMargin { get { return new Padding(0, 3, 0, 2); } } [ DefaultValue(false), SRDescription(SR.ToolStripStatusLabelSpringDescr), SRCategory(SR.CatAppearance) ] public bool Spring { get { return spring; } set { if (spring != value) { spring = value; if (ParentInternal != null) { LayoutTransaction.DoLayout(ParentInternal, this, PropertyNames.Spring); } } } } public override System.Drawing.Size GetPreferredSize(System.Drawing.Size constrainingSize) { if (BorderSides != ToolStripStatusLabelBorderSides.None) { return base.GetPreferredSize(constrainingSize) + new Size(4, 4); } else { return base.GetPreferredSize(constrainingSize); } } /// /// /// Inheriting classes should override this method to handle this event. /// protected override void OnPaint(System.Windows.Forms.PaintEventArgs e) { if (this.Owner != null) { ToolStripRenderer renderer = this.Renderer; renderer.DrawToolStripStatusLabelBackground(new ToolStripItemRenderEventArgs(e.Graphics, this)); if ((DisplayStyle & ToolStripItemDisplayStyle.Image) == ToolStripItemDisplayStyle.Image) { renderer.DrawItemImage(new ToolStripItemImageRenderEventArgs(e.Graphics, this, InternalLayout.ImageRectangle)); } PaintText(e.Graphics); } } ////// This class performs internal layout for the "split button button" portion of a split button. /// Its main job is to make sure the inner button has the same parent as the split button, so /// that layout can be performed using the correct graphics context. /// private class ToolStripStatusLabelLayout : ToolStripItemInternalLayout { ToolStripStatusLabel owner; public ToolStripStatusLabelLayout(ToolStripStatusLabel owner) : base(owner) { this.owner = owner; } protected override ToolStripItemLayoutOptions CommonLayoutOptions() { ToolStripItemLayoutOptions layoutOptions = base.CommonLayoutOptions(); layoutOptions.borderSize = 0; return layoutOptions; } } } } // 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
- ConstNode.cs
- MatchAttribute.cs
- SafeReversePInvokeHandle.cs
- SqlBuilder.cs
- XmlCodeExporter.cs
- ConfigXmlSignificantWhitespace.cs
- DockProviderWrapper.cs
- ArrayList.cs
- CollaborationHelperFunctions.cs
- InsufficientMemoryException.cs
- AccessDataSource.cs
- FileSystemWatcher.cs
- FontFamily.cs
- StateValidator.cs
- WebPageTraceListener.cs
- SchemaCreator.cs
- LogWriteRestartAreaState.cs
- Item.cs
- Bits.cs
- COM2TypeInfoProcessor.cs
- ComContractElement.cs
- FixedLineResult.cs
- FontSource.cs
- DataGridViewLinkCell.cs
- DataReceivedEventArgs.cs
- TemplateControlBuildProvider.cs
- DocumentViewerHelper.cs
- DelayedRegex.cs
- Activity.cs
- ApplicationSecurityManager.cs
- IImplicitResourceProvider.cs
- SizeLimitedCache.cs
- TextParagraphProperties.cs
- TypeLoadException.cs
- ZipIOExtraField.cs
- EndEvent.cs
- XamlInt32CollectionSerializer.cs
- NameTable.cs
- CellParaClient.cs
- SspiSafeHandles.cs
- NumericUpDownAccelerationCollection.cs
- UTF32Encoding.cs
- AllMembershipCondition.cs
- CalendarDataBindingHandler.cs
- DragDrop.cs
- ListViewGroupItemCollection.cs
- SerializeAbsoluteContext.cs
- FamilyCollection.cs
- filewebrequest.cs
- RoutedEventHandlerInfo.cs
- WorkflowTransactionOptions.cs
- LineMetrics.cs
- EntityTypeEmitter.cs
- Pen.cs
- SmiXetterAccessMap.cs
- ColumnWidthChangedEvent.cs
- PackWebRequestFactory.cs
- EmptyWithCancelationCheckWorkItem.cs
- TabletDeviceInfo.cs
- MediaTimeline.cs
- WindowsIdentity.cs
- SpecularMaterial.cs
- SchemaImporter.cs
- CodeTypeParameterCollection.cs
- IntegerFacetDescriptionElement.cs
- ConfigurationLockCollection.cs
- SchemaReference.cs
- DbMetaDataFactory.cs
- FilterException.cs
- CodeDefaultValueExpression.cs
- CodeDOMUtility.cs
- SmiTypedGetterSetter.cs
- EventPrivateKey.cs
- ISCIIEncoding.cs
- RepeaterItemCollection.cs
- CodeSnippetCompileUnit.cs
- MetadataItem_Static.cs
- FrugalMap.cs
- CodeAttachEventStatement.cs
- ConfigurationStrings.cs
- ComplusEndpointConfigContainer.cs
- SqlIdentifier.cs
- OleDbPropertySetGuid.cs
- AttributeUsageAttribute.cs
- TemplateField.cs
- HttpHandlerAction.cs
- ClientTargetSection.cs
- XmlSerializerAssemblyAttribute.cs
- HttpVersion.cs
- AmbientEnvironment.cs
- LiteralSubsegment.cs
- SqlReorderer.cs
- ListControlConvertEventArgs.cs
- CodeTypeDeclaration.cs
- ExtenderControl.cs
- TagMapCollection.cs
- Stack.cs
- ADMembershipProvider.cs
- LinearGradientBrush.cs
- CodeVariableReferenceExpression.cs