C#单选框的自定义绘制方法

   2024-10-02 6930
核心提示:要自定义绘制C#单选框,可以通过继承自RadioButton控件并重写其OnPaint方法来实现。以下是一个简单的示例:using System.Drawing

要自定义绘制C#单选框,可以通过继承自RadioButton控件并重写其OnPaint方法来实现。以下是一个简单的示例:

using System.Drawing;using System.Windows.Forms;public class CustomRadioButton : RadioButton{    protected override void OnPaint(PaintEventArgs e)    {        base.OnPaint(e);        // 自定义绘制单选框        Rectangle boxRect = new Rectangle(0, (this.Height - 16) / 2, 16, 16);        e.Graphics.FillEllipse(Brushes.White, boxRect);        e.Graphics.DrawEllipse(Pens.Black, boxRect);        if (this.Checked)        {            Rectangle innerRect = new Rectangle(boxRect.X + 4, boxRect.Y + 4, 8, 8);            e.Graphics.FillEllipse(Brushes.Black, innerRect);        }        // 绘制文本        using (StringFormat sf = new StringFormat())        {            sf.LineAlignment = StringAlignment.Center;            Rectangle textRect = new Rectangle(boxRect.Right + 5, 0, this.Width - boxRect.Right - 5, this.Height);            e.Graphics.DrawString(this.Text, this.Font, Brushes.Black, textRect, sf);        }    }}

在上面的示例中,我们继承自RadioButton控件,并重写了其OnPaint方法来自定义绘制单选框。我们首先绘制一个白色的圆形框,并用黑色描边,然后根据单选框是否被选中来填充一个黑色的圆形。最后,我们使用DrawString方法绘制单选框的文本。

要使用这个自定义的单选框控件,只需在窗体中添加一个CustomRadioButton控件即可。例如:

CustomRadioButton customRadioButton1 = new CustomRadioButton();customRadioButton1.Text = "Option 1";customRadioButton1.Location = new Point(10, 10);this.Controls.Add(customRadioButton1);

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号