RadioButtonRenderer::DrawRadioButton Method (Graphics^, Point, Rectangle, String^, Font^, Boolean, RadioButtonState)

 

Draws an option button control (also known as a radio button) in the specified state and location, with the specified text, and with an optional focus rectangle.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
static void DrawRadioButton(
	Graphics^ g,
	Point glyphLocation,
	Rectangle textBounds,
	String^ radioButtonText,
	Font^ font,
	bool focused,
	RadioButtonState state
)

Parameters

g
Type: System.Drawing::Graphics^

The Graphics used to draw the option button.

glyphLocation
Type: System.Drawing::Point

The Point to draw the option button glyph at.

textBounds
Type: System.Drawing::Rectangle

The Rectangle to draw radioButtonText in.

radioButtonText
Type: System::String^

The String to draw with the option button.

font
Type: System.Drawing::Font^

The Font to apply to radioButtonText.

focused
Type: System::Boolean

true to draw a focus rectangle; otherwise, false.

state
Type: System.Windows.Forms.VisualStyles::RadioButtonState

One of the RadioButtonState values that specifies the visual state of the option button.

If visual styles are enabled in the operating system and visual styles are applied to the current application, this method will draw the option button with the current visual style. Otherwise, this method will draw the option button with the classic Windows style.

The following code example uses the DrawRadioButton(Graphics^, Point, Rectangle, String^, Font^, Boolean, RadioButtonState) method in a custom control's OnPaint method to draw an option button in the state determined by the location of the mouse pointer. This code example is part of a larger example provided for the RadioButtonRenderer class.

    // Draw the radio button in the current state.
protected:
    virtual void OnPaint(PaintEventArgs^ e) override
    {
        __super::OnPaint(e);

        RadioButtonRenderer::DrawRadioButton(e->Graphics,
            ClientRectangle.Location, TextRectangle, this->Text,
            this->Font, clicked, state);
    }

    // Draw the radio button in the checked or unchecked state.
protected:
    virtual void OnMouseDown(MouseEventArgs^ e) override
    {
        __super::OnMouseDown(e);

        if (!clicked)
        {
            clicked = true;
            this->Text = "Clicked!";
            state = RadioButtonState::CheckedPressed;
            Invalidate();
        }
        else
        {
            clicked = false;
            this->Text = "Click here";
            state = RadioButtonState::UncheckedNormal;
            Invalidate();
        }
    }

.NET Framework
Available since 2.0
Return to top
Show: