Winform-ToolStripButton实现高清红黄绿指示灯(改善图片造成的模糊)

 

    // 自定义控件(ToolStripButton)
    public partial class RoundButton : ToolStripButton
    {
        protected override void OnPaint(PaintEventArgs pevent)  // 重写绘制
        {
            base.OnPaint(pevent);

            Graphics g = pevent.Graphics;
            g.SmoothingMode = SmoothingMode.AntiAlias;  // 抗锯齿,使边缘平滑
            RectangleF rect = new RectangleF(5, 4, (this.Height / 2) + 2, (this.Height / 2) + 2);  // 自己调整

            SolidBrush sb = new SolidBrush(Color.Red);  // 默认红色

            string color = this.Tag == null ? string.Empty : this.Tag.ToString();  // 颜色
            // 填充控件内部
            if (color.Contains("绿"))       // 绿
            {
                sb = new SolidBrush(Color.Green);
            }
            else if (color.Contains("黄"))  // 黄
            {
                sb = new SolidBrush(Color.Green);
            }
            else if (color.Contains("红"))  // 红
            {
                sb = new SolidBrush(Color.Green);
            }

            g.FillEllipse(sb, rect);
        }
    }
posted @   ꧁执笔小白꧂  阅读(186)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示