C# Winform 仪表盘

时间:2021-07-08 19:25:05

winform 仪表盘相关下载链接://download.csdn.net/download/floweroflvoe/10432601?utm_source=bbsseo

控件首次拖拽上来是这样的:        Demo中美化之后是这样的:      这是修改demo后的成果:

C# Winform 仪表盘    C# Winform 仪表盘    C# Winform 仪表盘

其中颜色是一点一点配出来的,线条与色块是一个一个Range调整大小与位置得到的,最后的指针颜色本是没有和谐的颜色,通过修改源代码添加了合适的颜色。

样式是通过属性编辑器添加修改的,最后生成的设计器具体代码如下:

//
// aGauge1
//
this.aGauge1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
this.aGauge1.BaseArcColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
this.aGauge1.BaseArcRadius = ;
this.aGauge1.BaseArcStart = ;
this.aGauge1.BaseArcSweep = ;
this.aGauge1.BaseArcWidth = ;
this.aGauge1.Dock = System.Windows.Forms.DockStyle.Fill;
this.aGauge1.GaugeAutoSize = true;
aGaugeLabel1.Color = System.Drawing.Color.White;
aGaugeLabel1.Font = new System.Drawing.Font("Verdana", 9.75F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)()));
aGaugeLabel1.Name = "GaugeLabel1";
aGaugeLabel1.Position = new System.Drawing.Point(, );
aGaugeLabel1.Text = "";
this.aGauge1.GaugeLabels.Add(aGaugeLabel1);
aGaugeRange1.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange1.EndValue = 6.8F;
aGaugeRange1.InnerRadius = ;
aGaugeRange1.InRange = false;
aGaugeRange1.Name = "ShortRange";
aGaugeRange1.OuterRadius = ;
aGaugeRange1.StartValue = 1.8F;
aGaugeRange2.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange2.EndValue = 1.7F;
aGaugeRange2.InnerRadius = ;
aGaugeRange2.InRange = false;
aGaugeRange2.Name = "GaugeRange3";
aGaugeRange2.OuterRadius = ;
aGaugeRange2.StartValue = 1.2F;
aGaugeRange3.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange3.EndValue = 1F;
aGaugeRange3.InnerRadius = ;
aGaugeRange3.InRange = false;
aGaugeRange3.Name = "GaugeRange2";
aGaugeRange3.OuterRadius = ;
aGaugeRange3.StartValue = 0.5F;
aGaugeRange4.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange4.EndValue = 0.3F;
aGaugeRange4.InnerRadius = ;
aGaugeRange4.InRange = false;
aGaugeRange4.Name = "GaugeRange1";
aGaugeRange4.OuterRadius = ;
aGaugeRange4.StartValue = -0.2F;
aGaugeRange5.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange5.EndValue = 2.4F;
aGaugeRange5.InnerRadius = ;
aGaugeRange5.InRange = false;
aGaugeRange5.Name = "GaugeRange4";
aGaugeRange5.OuterRadius = ;
aGaugeRange5.StartValue = 1.9F;
aGaugeRange6.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange6.EndValue = 3.1F;
aGaugeRange6.InnerRadius = ;
aGaugeRange6.InRange = false;
aGaugeRange6.Name = "GaugeRange5";
aGaugeRange6.OuterRadius = ;
aGaugeRange6.StartValue = 2.6F;
aGaugeRange7.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange7.EndValue = 3.8F;
aGaugeRange7.InnerRadius = ;
aGaugeRange7.InRange = false;
aGaugeRange7.Name = "GaugeRange6";
aGaugeRange7.OuterRadius = ;
aGaugeRange7.StartValue = 3.3F;
aGaugeRange8.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange8.EndValue = 4.5F;
aGaugeRange8.InnerRadius = ;
aGaugeRange8.InRange = false;
aGaugeRange8.Name = "GaugeRange7";
aGaugeRange8.OuterRadius = ;
aGaugeRange8.StartValue = 4F;
aGaugeRange9.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange9.EndValue = 5.2F;
aGaugeRange9.InnerRadius = ;
aGaugeRange9.InRange = false;
aGaugeRange9.Name = "GaugeRange8";
aGaugeRange9.OuterRadius = ;
aGaugeRange9.StartValue = 4.7F;
aGaugeRange10.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange10.EndValue = 5.9F;
aGaugeRange10.InnerRadius = ;
aGaugeRange10.InRange = false;
aGaugeRange10.Name = "GaugeRange9";
aGaugeRange10.OuterRadius = ;
aGaugeRange10.StartValue = 5.4F;
aGaugeRange11.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange11.EndValue = 6.6F;
aGaugeRange11.InnerRadius = ;
aGaugeRange11.InRange = false;
aGaugeRange11.Name = "GaugeRange10";
aGaugeRange11.OuterRadius = ;
aGaugeRange11.StartValue = 6.1F;
aGaugeRange12.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange12.EndValue = 7.3F;
aGaugeRange12.InnerRadius = ;
aGaugeRange12.InRange = false;
aGaugeRange12.Name = "GaugeRange11";
aGaugeRange12.OuterRadius = ;
aGaugeRange12.StartValue = 6.8F;
aGaugeRange13.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange13.EndValue = 8F;
aGaugeRange13.InnerRadius = ;
aGaugeRange13.InRange = false;
aGaugeRange13.Name = "GaugeRange12";
aGaugeRange13.OuterRadius = ;
aGaugeRange13.StartValue = 7.5F;
aGaugeRange14.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange14.EndValue = 8.7F;
aGaugeRange14.InnerRadius = ;
aGaugeRange14.InRange = false;
aGaugeRange14.Name = "GaugeRange13";
aGaugeRange14.OuterRadius = ;
aGaugeRange14.StartValue = 8.2F;
aGaugeRange15.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange15.EndValue = 9.4F;
aGaugeRange15.InnerRadius = ;
aGaugeRange15.InRange = false;
aGaugeRange15.Name = "GaugeRange14";
aGaugeRange15.OuterRadius = ;
aGaugeRange15.StartValue = 8.9F;
aGaugeRange16.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange16.EndValue = 10.1F;
aGaugeRange16.InnerRadius = ;
aGaugeRange16.InRange = false;
aGaugeRange16.Name = "GaugeRange15";
aGaugeRange16.OuterRadius = ;
aGaugeRange16.StartValue = 9.6F;
aGaugeRange17.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange17.EndValue = 10.8F;
aGaugeRange17.InnerRadius = ;
aGaugeRange17.InRange = false;
aGaugeRange17.Name = "GaugeRange16";
aGaugeRange17.OuterRadius = ;
aGaugeRange17.StartValue = 10.3F;
aGaugeRange18.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange18.EndValue = 11.5F;
aGaugeRange18.InnerRadius = ;
aGaugeRange18.InRange = false;
aGaugeRange18.Name = "GaugeRange17";
aGaugeRange18.OuterRadius = ;
aGaugeRange18.StartValue = 11F;
aGaugeRange19.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange19.EndValue = 12.2F;
aGaugeRange19.InnerRadius = ;
aGaugeRange19.InRange = false;
aGaugeRange19.Name = "GaugeRange18";
aGaugeRange19.OuterRadius = ;
aGaugeRange19.StartValue = 11.7F;
aGaugeRange20.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange20.EndValue = 12.9F;
aGaugeRange20.InnerRadius = ;
aGaugeRange20.InRange = false;
aGaugeRange20.Name = "GaugeRange19";
aGaugeRange20.OuterRadius = ;
aGaugeRange20.StartValue = 12.4F;
aGaugeRange21.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange21.EndValue = 13.6F;
aGaugeRange21.InnerRadius = ;
aGaugeRange21.InRange = false;
aGaugeRange21.Name = "GaugeRange20";
aGaugeRange21.OuterRadius = ;
aGaugeRange21.StartValue = 13.1F;
aGaugeRange22.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange22.EndValue = 14.3F;
aGaugeRange22.InnerRadius = ;
aGaugeRange22.InRange = false;
aGaugeRange22.Name = "GaugeRange21";
aGaugeRange22.OuterRadius = ;
aGaugeRange22.StartValue = 13.8F;
aGaugeRange23.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange23.EndValue = 15F;
aGaugeRange23.InnerRadius = ;
aGaugeRange23.InRange = false;
aGaugeRange23.Name = "GaugeRange22";
aGaugeRange23.OuterRadius = ;
aGaugeRange23.StartValue = 14.5F;
aGaugeRange24.Color = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
aGaugeRange24.EndValue = 15.5F;
aGaugeRange24.InnerRadius = ;
aGaugeRange24.InRange = false;
aGaugeRange24.Name = "SingleGaugeRange";
aGaugeRange24.OuterRadius = ;
aGaugeRange24.StartValue = -0.5F;
this.aGauge1.GaugeRanges.Add(aGaugeRange1);
this.aGauge1.GaugeRanges.Add(aGaugeRange2);
this.aGauge1.GaugeRanges.Add(aGaugeRange3);
this.aGauge1.GaugeRanges.Add(aGaugeRange4);
this.aGauge1.GaugeRanges.Add(aGaugeRange5);
this.aGauge1.GaugeRanges.Add(aGaugeRange6);
this.aGauge1.GaugeRanges.Add(aGaugeRange7);
this.aGauge1.GaugeRanges.Add(aGaugeRange8);
this.aGauge1.GaugeRanges.Add(aGaugeRange9);
this.aGauge1.GaugeRanges.Add(aGaugeRange10);
this.aGauge1.GaugeRanges.Add(aGaugeRange11);
this.aGauge1.GaugeRanges.Add(aGaugeRange12);
this.aGauge1.GaugeRanges.Add(aGaugeRange13);
this.aGauge1.GaugeRanges.Add(aGaugeRange14);
this.aGauge1.GaugeRanges.Add(aGaugeRange15);
this.aGauge1.GaugeRanges.Add(aGaugeRange16);
this.aGauge1.GaugeRanges.Add(aGaugeRange17);
this.aGauge1.GaugeRanges.Add(aGaugeRange18);
this.aGauge1.GaugeRanges.Add(aGaugeRange19);
this.aGauge1.GaugeRanges.Add(aGaugeRange20);
this.aGauge1.GaugeRanges.Add(aGaugeRange21);
this.aGauge1.GaugeRanges.Add(aGaugeRange22);
this.aGauge1.GaugeRanges.Add(aGaugeRange23);
this.aGauge1.GaugeRanges.Add(aGaugeRange24);
this.aGauge1.Location = new System.Drawing.Point(, );
this.aGauge1.MaxValue = 16F;
this.aGauge1.MinValue = -1F;
this.aGauge1.Name = "aGauge1";
this.aGauge1.NeedleColor1 = System.Windows.Forms.AGaugeNeedleColor.MyColor;
this.aGauge1.NeedleColor2 = System.Drawing.Color.Lavender;
this.aGauge1.NeedleRadius = ;
this.aGauge1.NeedleType = System.Windows.Forms.NeedleType.Advance;
this.aGauge1.NeedleWidth = ;
this.aGauge1.ScaleLinesInterColor = System.Drawing.Color.Transparent;
this.aGauge1.ScaleLinesInterInnerRadius = ;
this.aGauge1.ScaleLinesInterOuterRadius = ;
this.aGauge1.ScaleLinesInterWidth = ;
this.aGauge1.ScaleLinesMajorColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
this.aGauge1.ScaleLinesMajorInnerRadius = ;
this.aGauge1.ScaleLinesMajorOuterRadius = ;
this.aGauge1.ScaleLinesMajorStepValue = 1F;
this.aGauge1.ScaleLinesMajorWidth = ;
this.aGauge1.ScaleLinesMinorColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
this.aGauge1.ScaleLinesMinorInnerRadius = ;
this.aGauge1.ScaleLinesMinorOuterRadius = ;
this.aGauge1.ScaleLinesMinorTicks = ;
this.aGauge1.ScaleLinesMinorWidth = ;
this.aGauge1.ScaleNumbersColor = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
this.aGauge1.ScaleNumbersFormat = null;
this.aGauge1.ScaleNumbersRadius = ;
this.aGauge1.ScaleNumbersRotation = ;
this.aGauge1.ScaleNumbersStartScaleLine = ;
this.aGauge1.ScaleNumbersStepScaleLines = ;
this.aGauge1.Size = new System.Drawing.Size(, );
this.aGauge1.TabIndex = ;
this.aGauge1.Text = "aGauge1";
this.aGauge1.Value = 0F;
this.aGauge1.ValueChanged += new System.EventHandler(this.aGauge1_ValueChanged);
this.aGauge1.ValueInRangeChanged += new System.EventHandler<System.Windows.Forms.ValueInRangeChangedEventArgs>(this.aGauge1_ValueInRangeChanged);
System.Windows.Forms.AGaugeLabel aGaugeLabel1 = new System.Windows.Forms.AGaugeLabel();
System.Windows.Forms.AGaugeRange aGaugeRange1 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange2 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange3 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange4 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange5 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange6 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange7 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange8 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange9 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange10 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange11 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange12 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange13 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange14 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange15 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange16 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange17 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange18 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange19 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange20 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange21 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange22 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange23 = new System.Windows.Forms.AGaugeRange();
System.Windows.Forms.AGaugeRange aGaugeRange24 = new System.Windows.Forms.AGaugeRange();
private System.Windows.Forms.AGauge aGauge1;

关于修改的指针颜色代码:AGauge.cs中修改AGaugeNeedleColor

public enum AGaugeNeedleColor
{
Gray = ,
Red = ,
Green = ,
Blue = ,
Yellow = ,
Violet = ,
Magenta = ,
MyColor= //新添加的颜色
};
 switch (m_NeedleColor1)
{
case AGaugeNeedleColor.MyColor: // 新添加的颜色设置
clr1 = Color.FromArgb( + subcol, + subcol, + subcol);
clr2 = Color.FromArgb( - subcol, - subcol, - subcol);
clr3 = Color.FromArgb( + subcol2, + subcol2, + subcol2);
clr4 = Color.FromArgb( - subcol2, - subcol2, - subcol2);
e.Graphics.DrawEllipse(Pens.BlueViolet, center.X - needleWidth * , center.Y - needleWidth * , needleWidth * , needleWidth * );
break;
case AGaugeNeedleColor.Gray:
clr1 = Color.FromArgb( + subcol, + subcol, + subcol);
clr2 = Color.FromArgb( - subcol, - subcol, - subcol);
clr3 = Color.FromArgb( + subcol2, + subcol2, + subcol2);
clr4 = Color.FromArgb( - subcol2, - subcol2, - subcol2);
e.Graphics.DrawEllipse(Pens.Gray, center.X - needleWidth * , center.Y - needleWidth * , needleWidth * , needleWidth * );
break;

重新加载之后属性中就会出现自己新加的颜色:C# Winform 仪表盘