91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#單選框的自定義繪制方法

c#
小樊
82
2024-08-08 20:33:36
欄目: 編程語言

要自定義繪制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);

0
察隅县| 运城市| 平顶山市| 黔江区| 渑池县| 婺源县| 旅游| 昌宁县| 漳浦县| 翁牛特旗| 油尖旺区| 垫江县| 镇坪县| 北宁市| 湖北省| 噶尔县| 育儿| 翼城县| 平南县| 墨脱县| 岑巩县| 太保市| 霍城县| 马公市| 麟游县| 阳朔县| 屏南县| 饶河县| 集贤县| 那曲县| 蓝山县| 吴江市| 灵寿县| 安多县| 兰考县| 鄂伦春自治旗| 宁河县| 桃源县| 西青区| 米林县| 阳城县|