Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / WinForms / Managed / System / WinForms / FlatButtonAppearance.cs / 1 / FlatButtonAppearance.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.Drawing; using System.Globalization; using System.ComponentModel; using System.Windows.Forms.Layout; ////// /// [TypeConverter(typeof(FlatButtonAppearanceConverter))] public class FlatButtonAppearance { private ButtonBase owner; private int borderSize = 1; private Color borderColor = Color.Empty; private Color checkedBackColor = Color.Empty; private Color mouseDownBackColor = Color.Empty; private Color mouseOverBackColor = Color.Empty; internal FlatButtonAppearance(ButtonBase owner) { this.owner = owner; } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the size, in pixels of the border around the button. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonBorderSizeDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(1), ] public int BorderSize { get { return borderSize; } set { if (value < 0) throw new ArgumentOutOfRangeException("BorderSize", value, SR.GetString(SR.InvalidLowBoundArgumentEx, "BorderSize", value.ToString(CultureInfo.CurrentCulture), (0).ToString(CultureInfo.CurrentCulture))); if (borderSize != value) { borderSize = value; if (owner != null && owner.ParentInternal != null) { LayoutTransaction.DoLayoutIf(owner.AutoSize, owner.ParentInternal, owner, PropertyNames.FlatAppearanceBorderSize); } owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the border around the button. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonBorderColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color BorderColor { get { return borderColor; } set { if (value.Equals(Color.Transparent)) { throw new NotSupportedException(SR.GetString(SR.ButtonFlatAppearanceInvalidBorderColor)); } if (borderColor != value) { borderColor = value; owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the client area /// of the button when the button state is checked and the mouse cursor is NOT within the bounds of the control. /// [ Browsable(true), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonCheckedBackColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color CheckedBackColor { get { return checkedBackColor; } set { if (checkedBackColor != value) { checkedBackColor = value; owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the client area /// of the button when the mouse cursor is within the bounds of the control and the left button is pressed. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonMouseDownBackColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color MouseDownBackColor { get { return mouseDownBackColor; } set { if (mouseDownBackColor != value) { mouseDownBackColor = value; owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the client /// area of the button when the mouse cursor is within the bounds of the control. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonMouseOverBackColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color MouseOverBackColor { get { return mouseOverBackColor; } set { if (mouseOverBackColor != value) { mouseOverBackColor = value; owner.Invalidate(); } } } } internal sealed class ApplicableToButtonAttribute : Attribute { public ApplicableToButtonAttribute() { } } internal class FlatButtonAppearanceConverter : ExpandableObjectConverter { // Don't let the property grid display the full type name in the value cell public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string)) { return ""; } return base.ConvertTo(context, culture, value, destinationType); } // Don't let the property grid display the CheckedBackColor property for Button controls public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) { if (context != null && context.Instance is Button) { Attribute[] attributes2 = new Attribute[attributes.Length + 1]; attributes.CopyTo(attributes2, 0); attributes2[attributes.Length] = new ApplicableToButtonAttribute(); attributes = attributes2; } return TypeDescriptor.GetProperties(value, attributes); } } } // 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.Drawing; using System.Globalization; using System.ComponentModel; using System.Windows.Forms.Layout; ////// /// [TypeConverter(typeof(FlatButtonAppearanceConverter))] public class FlatButtonAppearance { private ButtonBase owner; private int borderSize = 1; private Color borderColor = Color.Empty; private Color checkedBackColor = Color.Empty; private Color mouseDownBackColor = Color.Empty; private Color mouseOverBackColor = Color.Empty; internal FlatButtonAppearance(ButtonBase owner) { this.owner = owner; } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the size, in pixels of the border around the button. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonBorderSizeDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(1), ] public int BorderSize { get { return borderSize; } set { if (value < 0) throw new ArgumentOutOfRangeException("BorderSize", value, SR.GetString(SR.InvalidLowBoundArgumentEx, "BorderSize", value.ToString(CultureInfo.CurrentCulture), (0).ToString(CultureInfo.CurrentCulture))); if (borderSize != value) { borderSize = value; if (owner != null && owner.ParentInternal != null) { LayoutTransaction.DoLayoutIf(owner.AutoSize, owner.ParentInternal, owner, PropertyNames.FlatAppearanceBorderSize); } owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the border around the button. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonBorderColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color BorderColor { get { return borderColor; } set { if (value.Equals(Color.Transparent)) { throw new NotSupportedException(SR.GetString(SR.ButtonFlatAppearanceInvalidBorderColor)); } if (borderColor != value) { borderColor = value; owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the client area /// of the button when the button state is checked and the mouse cursor is NOT within the bounds of the control. /// [ Browsable(true), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonCheckedBackColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color CheckedBackColor { get { return checkedBackColor; } set { if (checkedBackColor != value) { checkedBackColor = value; owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the client area /// of the button when the mouse cursor is within the bounds of the control and the left button is pressed. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonMouseDownBackColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color MouseDownBackColor { get { return mouseDownBackColor; } set { if (mouseDownBackColor != value) { mouseDownBackColor = value; owner.Invalidate(); } } } ////// /// For buttons whose FlatStyle is FlatStyle.Flat, this property specifies the color of the client /// area of the button when the mouse cursor is within the bounds of the control. /// [ Browsable(true), ApplicableToButton(), NotifyParentProperty(true), SRCategory(SR.CatAppearance), SRDescription(SR.ButtonMouseOverBackColorDescr), EditorBrowsable(EditorBrowsableState.Always), DefaultValue(typeof(Color), ""), ] public Color MouseOverBackColor { get { return mouseOverBackColor; } set { if (mouseOverBackColor != value) { mouseOverBackColor = value; owner.Invalidate(); } } } } internal sealed class ApplicableToButtonAttribute : Attribute { public ApplicableToButtonAttribute() { } } internal class FlatButtonAppearanceConverter : ExpandableObjectConverter { // Don't let the property grid display the full type name in the value cell public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string)) { return ""; } return base.ConvertTo(context, culture, value, destinationType); } // Don't let the property grid display the CheckedBackColor property for Button controls public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) { if (context != null && context.Instance is Button) { Attribute[] attributes2 = new Attribute[attributes.Length + 1]; attributes.CopyTo(attributes2, 0); attributes2[attributes.Length] = new ApplicableToButtonAttribute(); attributes = attributes2; } return TypeDescriptor.GetProperties(value, attributes); } } } // 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
- TableCell.cs
- ActiveXHost.cs
- BrushConverter.cs
- GlyphRunDrawing.cs
- DataListItemEventArgs.cs
- CodeDirectoryCompiler.cs
- ControlHelper.cs
- WindowsClaimSet.cs
- ListViewUpdatedEventArgs.cs
- Types.cs
- XamlSerializer.cs
- SendKeys.cs
- AdPostCacheSubstitution.cs
- OciLobLocator.cs
- ContextMenuStripActionList.cs
- QueryContinueDragEventArgs.cs
- Choices.cs
- CreatingCookieEventArgs.cs
- FixedPage.cs
- PositiveTimeSpanValidatorAttribute.cs
- Thumb.cs
- Clause.cs
- PasswordPropertyTextAttribute.cs
- FixedStringLookup.cs
- MetafileHeader.cs
- DropShadowBitmapEffect.cs
- HttpListenerException.cs
- DayRenderEvent.cs
- SendDesigner.xaml.cs
- AutoGeneratedFieldProperties.cs
- ContentPlaceHolder.cs
- KeyTime.cs
- CapabilitiesState.cs
- ScalarOps.cs
- XmlSchemaExternal.cs
- PackUriHelper.cs
- EventLogQuery.cs
- ContentTypeSettingClientMessageFormatter.cs
- TemplateField.cs
- SerializationInfo.cs
- MimeObjectFactory.cs
- ReadOnlyPropertyMetadata.cs
- StoryFragments.cs
- ValidateNames.cs
- Select.cs
- EdmToObjectNamespaceMap.cs
- WebBrowserContainer.cs
- TopClause.cs
- BlurBitmapEffect.cs
- WebPartZoneCollection.cs
- ScrollEventArgs.cs
- SuppressMergeCheckAttribute.cs
- Operators.cs
- Scheduler.cs
- IdentityManager.cs
- PropertyPathWorker.cs
- HttpListenerRequest.cs
- NamespaceList.cs
- BooleanKeyFrameCollection.cs
- Vector3dCollection.cs
- ComNativeDescriptor.cs
- EditorServiceContext.cs
- XmlHierarchicalDataSourceView.cs
- TreeViewHitTestInfo.cs
- XmlSchemaElement.cs
- PrincipalPermissionMode.cs
- ListComponentEditor.cs
- ScaleTransform.cs
- HeaderLabel.cs
- StandardCommands.cs
- LayoutInformation.cs
- SapiRecognizer.cs
- Page.cs
- DomNameTable.cs
- ResourcePart.cs
- MaskInputRejectedEventArgs.cs
- mongolianshape.cs
- GridSplitter.cs
- ClientRuntimeConfig.cs
- BoundsDrawingContextWalker.cs
- FlowDocumentReader.cs
- QueryContext.cs
- CreateUserErrorEventArgs.cs
- Opcode.cs
- ResXBuildProvider.cs
- ChannelServices.cs
- ComplexBindingPropertiesAttribute.cs
- LeafCellTreeNode.cs
- BinHexEncoding.cs
- ConfigPathUtility.cs
- SoapAttributeOverrides.cs
- ToolStripOverflowButton.cs
- TypeInfo.cs
- TextBox.cs
- PersonalizationProviderCollection.cs
- ImageListStreamer.cs
- HitTestFilterBehavior.cs
- RegistryPermission.cs
- DtrList.cs
- EventToken.cs