Esempio n. 1
0
 protected void UpdateMaterialChart()
 {
     if (_ctMaterial.InvokeRequired)
     {
         _ctMaterial.Invoke((System.Windows.Forms.MethodInvoker)
                                (() => _ctMaterial.DataBind()));
     }
     else
     {
         _ctMaterial.DataBind();
     }
 }
Esempio n. 2
0
 // Update a chart
 private void updateRefreshChart(System.Windows.Forms.DataVisualization.Charting.Chart chart)
 {
     if (!chart.IsDisposed)
     {
         if (chart.InvokeRequired)
         {
             RefreshChartCallback update = new RefreshChartCallback(_updateRefreshChart);
             chart.Invoke(update, new object[] { chart });
         }
         else
         {
             _updateRefreshChart(chart);
         }
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Charta yeni değer ekler. Ui thread de çalışıyorsa invoke eder.
        /// </summary>
        /// <param name="chart"></param>
        /// <param name="value"></param>
        public static void AddValue(this System.Windows.Forms.DataVisualization.Charting.Chart chart, double value)
        {
            int count = chart.Series["Func"].Points.Count + 1;

            if (chart.InvokeRequired)
            {
                chart.Invoke((Action)(() =>
                                      chart.Series["Func"].Points.AddXY(count, value)
                                      ));
            }
            else
            {
                chart.Series["Func"].Points.AddXY(count, value);
            }
        }
            public void ConfigShowArea(double T_Min, double T_Max, double D_Min, double D_Max)
            {
                Time_Min = T_Min;
                Time_Max = T_Max;
                Data_Min = D_Min;
                Data_Max = D_Max;

                ShowChart.Invoke(new EventHandler(delegate
                {
                    ShowChart.ChartAreas[AreaIndex].Axes[0].Maximum = T_Max;
                    ShowChart.ChartAreas[AreaIndex].Axes[0].Minimum = T_Min;
                    ShowChart.ChartAreas[AreaIndex].Axes[1].Maximum = D_Max;
                    ShowChart.ChartAreas[AreaIndex].Axes[1].Minimum = D_Min;
                }));
            }
Esempio n. 5
0
 //Mathod for creating graph from the double arrays
 public void graphCreate(System.Windows.Forms.DataVisualization.Charting.Chart chart, double[] samples)
 {
     chart.Invoke((MethodInvoker) delegate
     {
         chart.Series.Clear();
         chart.Series.Add("wave");
         chart.Visible = false;
         chart.Series["wave"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine;
         chart.Series["wave"].ChartArea = "ChartArea1";
         for (int i = 0; i < samples.Length; i += 10)
         {
             chart.Series["wave"].Points.Add(samples[i]);
         }
         //foreach (double point in samples)
         //chart.Series["wave"].Points.Add(point);
         chart.Visible = true;
     });
 }
            /// <summary>
            /// 配置显示区域范围
            /// </summary>
            public void ConfigShowArea(double T_Min, double T_Max, double D_Min, double D_Max)
            {
                Time_Min = Math.Round(T_Min, 1);
                Time_Max = Math.Round(T_Max, 1);
                Data_Min = Math.Round(D_Min, 1);
                Data_Max = Math.Round(D_Max, 1);

                if (Time_Max - Time_Min < 0.1 || Data_Max - Data_Min < 0.1)
                {
                    return;
                }
                ShowChart.Invoke(new EventHandler(delegate
                {
                    ShowChart.ChartAreas[AreaIndex].Axes[0].Maximum = Time_Max;
                    ShowChart.ChartAreas[AreaIndex].Axes[0].Minimum = Time_Min;
                    ShowChart.ChartAreas[AreaIndex].Axes[1].Maximum = Data_Max;
                    ShowChart.ChartAreas[AreaIndex].Axes[1].Minimum = Data_Min;
                }));
            }
Esempio n. 7
0
        private void data_plotter_main(object sender, DoWorkEventArgs e)
        {
            UInt16 i = 0;

            while (stop_program == false)
            {
                if ((update_plot == true))
                {
                    update_plot = false;
                    chart1.Invoke((MethodInvoker) delegate { chart1.Series["Inlet"].Points.AddXY(++i, values[0]); });
                    chart1.Invoke((MethodInvoker) delegate { chart1.Series["TV"].Points.AddXY(i, values[1]); });
                    chart1.Invoke((MethodInvoker) delegate { chart1.Series["NG"].Points.AddXY(i, values[2]); });
                    chart1.Invoke((MethodInvoker) delegate { chart1.Series["CT"].Points.AddXY(i, values[3]); });
                    chart1.Invoke((MethodInvoker) delegate { chart1.Series["Control"].Points.AddXY(i, values[4]); });
                    chart1.Invoke((MethodInvoker) delegate { chart1.ChartAreas[0].RecalculateAxesScale(); });
                }
                Thread.Sleep(100);
            }
        }