C#红绿状态灯

1.在Label里 画圆,存在窗体刷新会丢失画。

  public void SetShowConnectStatus(Label lbl, bool isOk)
        {
            lbl.Text = "";
            Graphics gra = lbl.CreateGraphics();
            gra.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
            Color c = isOk ? Color.Green : Color.Red;
            Brush bush = new SolidBrush(c);//填充的颜色
            gra.FillEllipse(bush, 10, 10, lbl.Width / 2, lbl.Width / 2);

        }

 2.在控件Paint事件里画,Invalidate 刷新。

   

  private bool isRotaryConnectOK = false;
        private void button1_Click(object sender, EventArgs e)
        {

            isRotaryConnectOK =!isRotaryConnectOK;
            lblRotaryConnectStatus.Invalidate();
        }
       
        private void lblRotaryConnectStatus_Paint(object sender, PaintEventArgs e)
        {
            Graphics gp = e.Graphics;
       gp.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; Color c
= isRotaryConnectOK ? Color.Lime : Color.Red; SolidBrush s = new SolidBrush(c); gp.FillEllipse(s, 5, 5, lblRotaryConnectStatus.Width/2, lblRotaryConnectStatus.Width / 2); }

void FillEllipse(Brush brush,int x,int y,int width,int height);
其中brush为指定画刷,(x1,y1)为指定矩形的左上角坐标,width为指定矩形的宽,height为指定矩形的高。 

添加文字:

Font font_ = new Font("微软雅黑", 14, FontStyle.Regular);
SolidBrush brush_ = new SolidBrush(Color.White);
gp.DrawString(adcLsbNumber_, font_, brush_,8, 6);

 

转载于:https://www.cnblogs.com/ike_li/p/9590849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值