//Dibuja los valores en un gráfico public static void GetGrafico(PictureBox img, PaintEventArgs evento) { int totalRegistro = Controlador.GetDataList().Count; double xstep = (double)img.ClientRectangle.Width / totalRegistro; double ystep = (double)img.ClientRectangle.Height / Controlador.limiteValido; List <Rectangle> muestras = new List <Rectangle>(); Pen lapiz = new Pen(Color.Red, 2); for (int puntoX = 0; puntoX < totalRegistro - 1; puntoX++) { //Creamos puntos int puntoY = Controlador.GetValorY(puntoX); muestras.Add(new Rectangle((int)(puntoX * xstep), (int)(puntoY * ystep), tamañoCuadro, tamañoCuadro)); //alternativa - dibujar línea para unir punto using (Pen pn = new Pen(Color.Blue, 1)) { int puntoYFinal = Controlador.GetValorY(puntoX + 1); evento.Graphics.DrawLine(pn, new PointF((int)(puntoX * xstep), (int)(puntoY * ystep)), new PointF((int)((puntoX + 1) * xstep), (int)(puntoYFinal * ystep))); } } //Dibujamos los punto resultantes evento.Graphics.DrawRectangles(lapiz, muestras.ToArray()); }
private void pictureBox1_Paint(object sender, PaintEventArgs e) { PictureBox img = (PictureBox)sender; //Dibujamos mediante el controlador Controlador.GetGrafico(img, e); }
private void pictureBox1_MouseMove(object sender, MouseEventArgs e) { PictureBox img = (PictureBox)sender; if (PuntoModificadoY != null) { PuntoModificadoY.Y += (int)((e.Y - LastY) / ((double)img.Height / Controlador.limiteValido)); LastY = e.Y; //Actualizamos el punto modificado Controlador.SetPuntoModificado(PuntoModificadoY); //Dibujamos nuevamente el grafico pictureBox1.Refresh(); } }
private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { PictureBox img = (PictureBox)sender; //obtenemos X y se guarda temporalmente int pointX = e.X * Controlador.numeroMuestras / img.Width; //validacion de puntos if (pointX >= 0 && pointX < Controlador.numeroMuestras) { //Establecemos el nuevo punto PuntoModificadoY = Controlador.GetValorXY(pointX); LastY = e.Y; } }
private void LoaData() { //Buscamos datos Controlador.LoadData(); //Asignamos los datos a un bindingDataSource bindingSource1.DataSource = Controlador.GetDataList(); //Asignamos el binding a un dataGridView para ver los datos dataGridView1.DataSource = bindingSource1; //Ajustamos el contenido a la ventana dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; //Ajustamos el pictureBox al tamaño de la ventana pictureBox1.Anchor = ((AnchorStyles)((((AnchorStyles.Top | AnchorStyles.Bottom) | AnchorStyles.Left) | AnchorStyles.Right))); }