Tip
The images above are from the example application.
At the Releases page of the project repository you can download it as executable binaries as well.
[ToolboxBitmapAttribute(typeof(RadioButton))]
public class AdvancedRadioButton : RadioButton,
ISupportsFading<ControlAppearanceState>, IWin32Window<ToolboxBitmapAttribute(GetType(RadioButton))>
Public Class AdvancedRadioButton
Inherits RadioButton
Implements ISupportsFading(Of ControlAppearanceState), IWin32Window[ToolboxBitmapAttribute(typeof(RadioButton))]
public ref class AdvancedRadioButton : public RadioButton,
ISupportsFading<ControlAppearanceState^>, IWin32Window[<ToolboxBitmapAttribute(typeof(RadioButton))>]
type AdvancedRadioButton =
class
inherit RadioButton
interface ISupportsFading<ControlAppearanceState>
interface IWin32Window
endThe following image illustrates a few features of the AdvancedRadioButton class, like the default disabled colors difference (the disabled colors are customizable), text rendering quality, and the fixed auto sizing behavior when the control is docked to the top:

The following animation demonstrates a couple of rendering issues with the regular RadioButton in high DPI mode with 150% scaling (as of .NET 10.0), as well as the buffered fading animations of AdvancedRadioButton, even for non-System FlatStyles:

| AdvancedRadioButton | Creates a new instance of AdvancedRadioButton. |
| AutoScaleFont |
Gets or sets whether the Font should be automatically scaled when DPI changes and the current thread has per-monitor DPI awareness.
Default value: . |
| BackColor |
Gets or sets the background color of the control in the current Enabled state.
(Overrides ButtonBaseBackColor) |
| DisabledBackColor | Gets or sets the background color when the control is not Enabled. |
| DisabledForeColor | Gets or sets the text color when the control is not Enabled. |
| EnabledBackColor | Gets or sets the background color when the control is Enabled. |
| EnabledForeColor | Gets or sets the text color when the control is Enabled. |
| FadingAnimationDefaultSpeed |
Gets or sets the default fading animation speed for non-standard animations in milliseconds. Zero value means immediate change.
Default value: 500. |
| FadingAnimationOptions |
Gets or sets the fading options of the control.
Default value: StandardEffects. |
| FadingAnimationsEnabled |
Gets or sets whether fading animations are enabled for the control.
Animations work on Windows Vista and above when rendering with visual styles.
Default value: . |
| FlatStyle |
Gets or sets the flat style appearance of the radio button control.
Default value: Standard. |
| Font | Gets or sets the font of the text displayed by the control. (Overrides ControlFont) |
| ForeColor |
Gets or sets the foreground color of the control in the current Enabled state.
(Overrides ControlForeColor) |
| TextRenderingQuality |
Gets or sets the text rendering quality of the AdvancedRadioButton.
Default value: SystemDefault. |
| UseCompatibleTextRendering |
Gets or sets whether to use the text rendering engine compatible with .NET Framework 1.x (GDI+) or not (GDI).
Default value: . |
| VisualsRenderingQuality |
Gets or sets the rendering quality of the AdvancedRadioButton visuals. Has effect only in high DPI mode.
Default value: High. |
| PaintState | Occurs when the control is painted in a specific state. |
| GetFormatFlags |
Gets the formatting flags for the text of a custom drawn control.
(Defined by ControlExtensions) |
| GetScale |
Gets the current scale factor of the specified control. If per-monitor DPI awareness is not enabled, it always returns SystemScale.
(Defined by ScaleHelper) |
| GetScrollBarSize |
Gets the recommended width and height of scrollbars matching the current scaling of the specified control.
(Defined by ScaleHelper) |
| HasDefaultScaling |
Gets whether the display that the specified control belongs to has the same DPI as the initial DPI of the primary display.
(Defined by ScaleHelper) |
| ScaleHeight |
Scales the specified height by the vertical scale factor of the control.
(Defined by ScaleHelper) |
| ScaleSize |
Scales the specified size by the scale factor of the control.
(Defined by ScaleHelper) |
| ScaleWidth |
Scales the specified width by the horizontal scale factor of the control.
(Defined by ScaleHelper) |
| SetControlEnabled |
Sets the Enabled property of the child controls within the specified root control,
or the Enabled property of the specified control itself, if it is not a recognized container control.
By this way pages of a TabControl will remain selectable, a SplitContainer remains resizable, etc.
(Defined by ControlExtensions) |
| SetControlReadonly |
Recursively sets the read-only state in the children of the specified root control.
Affects TextBoxBase and IReadOnlyCapable instances.
(Defined by ControlExtensions) |
| SetDoubleBuffered |
Sets the double buffered state of a control
(Defined by ControlExtensions) |
| SetStyle |
Sets a specified ControlStyles flag to either or .
It calls the protected Control.SetStyle method on the specified control as if it was a public method.
(Defined by ControlExtensions) |