C#控件开发4—仪表盘

如何让温度、湿度、压力等有量程的监控值如仪表盘(DashBoard)一样显示?

思路(GDI绘图)

  • 定义属性:(仪表盘的半径、颜色、间隙;刻度圆的半径、颜色、字体;指针的颜色、占比;文本的字体、占比;)
  • 绘制图形:(半圆、刻度、指针、中心、文本)

1.定义属性

  • 将以上属性挨个敲完
        private Color colorCircle1 = Color.FromArgb(33, 80, 33);
        [Browsable(true)]
        [Category("布局_G")]
        [Description("外环颜色1")]
        public Color ColorCircle1
        {
   
   
            get {
   
    return colorCircle1; }
            set {
   
    colorCircle1 = value; this.Invalidate(); }
        }

        private Color colorCircle2 = Color.FromArgb(22, 128, 22);
        [Browsable(true)]
        [Category("布局_G")]
        [Description("外环颜色2")]
        public Color ColorCircle2
        {
   
   
            get {
   
    return colorCircle2; }
            set {
   
    colorCircle2 = value; this.Invalidate(); }
        }

        private Color colorCircle3 = Color.FromArgb(20, 181, 20);
        [Browsable(true)]
        [Category("布局_G")]
        [Description("外环颜色3")]
        public Color ColorCircle3
        {
   
   
            get {
   
    return colorCircle3; }
            set {
   
    colorCircle3 = value; this.Invalidate(); }
        }

        private Color pointColor = Color.Green;
        [Browsable(true)]
        [Category("布局_G")]
        [Description("指针颜色")]
        public Color PointColor
        {
   
   
            get {
   
    return pointColor; }
            set {
   
    pointColor = value; this.Invalidate(); }
        }

        private Color scaleColor = Color.Black;
        [Browsable(true)]
        [Category("布局_G")]
        [Description("刻度颜色")]
        public Color ScaleColor
        {
   
   
            get {
   
    return scaleColor; }
            set {
   
    scaleColor = value; this.Invalidate(); }
        }

        private float scaleProportion = 0.8f;
        [Browsable(true)]
        [Category("布局_G")]
        [Description("刻度圆占外圆的比例0-1:越大越紧挨")]
        public float ScaleProportion
        {
   
   
            get {
   
    return scaleProportion; }
            set
            {
   
   
                if (value > 1.0f ||
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GesLuck

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值