Hola a todos,
A ver si podéis echarme una manita con este problema, por favor.
Tengo una tabla de datos (los datos los presento en un datagrid). Son pares de puntos (X,Y). Quiero representarlos gráficamente. Tengo entendido que con PointF y otras herramientas de GDI podría hacerlo. Por el momento, tengo este código, pero no me funciona:
//Código para dibujar la curva de puntos
// Creo el lápiz y el papel
System.Drawing.Pen lapiz = new System.Drawing.Pen(Color.MediumOrchid);
System.Drawing.Graphics papel = picGrafica.CreateGraphics();
//Array de puntos: inicializo el array metiendo un punto, pero no me gusta esto.
PointF inicial = new PointF(0,0);
PointF[] pts = {inicial};
foreach (DataRow dr in Andromeda.clases.comun.ds.Tables[Andromeda.clases.comun.TablaDatos].Rows)
{
// Si fila activa, q pinte el par (X,Y)=(Tensión,Corriente)
bool valor = (bool)dr["Par activo"];
if(valor)
{
//Guardo cada punto (X,Y)=(V,I) en el array PointF pts
double V = (double)dr["Tensión (V)"];
double I = (double)dr["Corriente (I)"];
// Convierto el tipo de los datos para poder guardarlos en pts
float X = (float)V;
float Y = (float)I;
PointF punto = new PointF(X,Y);
// AQUI SALTA EXCEPCION: Conversion no válida!! Quiero guardar el punto en la matriz pts
pts[(int)dr["Identificador"]].Equals(punto);
}
// Bucle de prueba: dibujar curva uniendo puntos
for(int i=1;i<pts.Length-1;i++)
papel.DrawLine(lapiz,pts[(int)dr
],pts[(int)dr[i+1]]);
}
¿Alguien me podría decir cómo almacenar los Point que voy creando en la matriz PointF[] pts?
Otra pregunta: ¿es posible utilizar el MSChart para C#? En ese caso, ¿cómo hacerlo?
Mil gracias!