Пользовательский solidGauge C # .NET - PullRequest
0 голосов
/ 07 июля 2019

В частности, я пытаюсь построить образ на этом image1

Я программирую на C # .NET и проектирую графику в Adobe XD, и я не могу передать то же самое в Visual Studio, сохраняя стиль. Используйте nuget LiveCharts в WinForm (https://lvcharts.net/App/examples/v1/wf/Solid%20Gauge).. Попробуйте сгенерировать графику, аналогичную дизайну, выполненному в Adobe, но у меня его нет (второе изображение). Мне нужен кто-то, кто поможет мне сделать ту же графику, соответствующую первой изображение.

У меня проблемы с сборкой графики на изображении 1; изменить цвет цифр, где отображается текущее значение, поставить галочку и т. д.

image3

Я пользуюсь этой возможностью, чтобы проконсультироваться, после того как я отладил и загрузил .dll, «черное» изображение отображается так, как видно на изображении. Это мой первый проект на C #. Этот компонент затем заряжается из WinCC, который является программным обеспечением SCADA, и он отображается на черном фоне, и если я изменяю значение, он показывает полосу, но фон остается черным (изображения 4 и 5).

image4

image5

image6

using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Forms;
using System.Windows.Media;

namespace temperaturaRodamientos
{
public partial class UserControl1: UserControl
{
//[Description("evento")]
private double _valor = -10.0;
public double valorNormal = 55.0;
public double valorPrecaucion = 80.0;
public double valorPeligro = 90.0;
public double valorMaximoSensor = 127.0;

[Description("Valor actual temperatura"), Category("Data")]
public double valor{
get { return _valor; } 
set
{
_valor = value;
solidGauge2.Value = _valor;
solidGauge2.BackColorTransparent = true;

if (_valor<=valorNormal) //verde
{ 
solidGauge2.ToColor = Color.FromRgb(11, 211, 1);
solidGauge2.FromColor = Color.FromRgb(11, 211, 1);
} else if (_valor >= valorNormal && _valor <= valorPeligro) //amarillo
{ 
solidGauge2.ToColor = Color.FromRgb(255, 250, 101);
solidGauge2.FromColor = Color.FromRgb(255, 250, 101);
}
else //rojo
{

solidGauge2.ToColor = Color.FromRgb(252, 141, 141);
solidGauge2.FromColor = Color.FromRgb(252, 141, 141);
} //fin if-else                
} //fin set
}

public UserControl1(){
InitializeComponent();
solidGauge2.Value = valor;
solidGauge2.From = valor;            
solidGauge2.To = valorMaximoSensor;
solidGauge2.Base.LabelsVisibility = Visibility.Hidden; //no muestra los valores min/max
solidGauge2.ToColor = Color.FromRgb(11, 211, 1);
solidGauge2.FromColor = Color.FromRgb(11, 211, 1);           

} //fin contructor


} //fin clase

} //fin proyecto
...