C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

■102813 / 2階層)  非同期処理
□投稿者/ まさ (6回)-(2024/01/06(Sat) 17:58:14)
No102812 (とっちゃん さん) に返信
> ■No102807 (まさ さん) に返信
>>C# Windowsフォームアプリケーション .NetFramework
ありがとうございます
 form1で1秒毎にデータを読込み折れ線グラフを表示させている時
form3を走らせるとform1の折れ線グラフが止まってしまします
form1をどのように変更させて頂けばよろしいでしょうか

using Opc.UaFx.Client;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using System.Windows.Forms.DataVisualization.Charting;
using static System.Windows.Forms.DataFormats;
using System.Threading.Tasks;


namespace グラフ表示
{
    public partial class Form1 : Form
    {

        private Timer dataLoadTimer;
        private int dataCounter;

        private OpcClient client;
        private DateTime startTime;

        private Timer timer;
        private Random random;
        private Chart upperChart;
        private Chart lowerChart;

        string currentDate = DateTime.Now.ToString("yyyyMd");

        int cycletime;

        private List<double> upperList;
        private List<double> lowerList;
        
        public Form1()
        {
            InitializeComponent();
            cycletime = 300;

            random = new Random();
            CreateChart();
        }

        private void CreateChart() 
        {
            IEnumerable<double> doubles = Enumerable.Repeat(double.NaN, cycletime + 1);

            upperChart = CreateChart(upperList = new List<double>(doubles));
            upperChart.Location = new System.Drawing.Point(280, 180);
            this.Controls.Add(upperChart);

            lowerChart = CreateChart(lowerList = new List<double>(doubles));
            lowerChart.Location = new System.Drawing.Point(280, 490);
            this.Controls.Add(lowerChart);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            string csvFilePath = G.priceDataFilePath;
            ReadValueAndDisplayInLabel(csvFilePath);
        }

        private void ReadValueAndDisplayInLabel(string filePath)
        {
            try
            {
                G.priceData = ReadValueFromCSV(filePath);
                label11.Text = G.priceData.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show("エラー: " + ex.Message, "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private int ReadValueFromCSV(string filePath)
        {
            int result = 0;

            try
            {
                string[] lines = File.ReadAllLines(filePath);

                if (lines.Length > 0)
                {
                    if (int.TryParse(lines[0], out result))
                    {
                        Console.WriteLine("CSVファイルから数値を正しく読み取りました。");
                    }
                    else
                    {
                        Console.WriteLine("CSVファイルの最初の行が数値ではありません。");
                    }
                }
                else
                {
                    Console.WriteLine("CSVファイルが空です。");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("エラー: " + ex.Message);
            }
            return result;
        }

編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[1]: 非同期処理 /とっちゃん →Re[3]: 非同期処理 /まさ
→Re[3]: 非同期処理 /furu
 
上記関連ツリー

非同期処理 / まさ (24/01/06(Sat) 09:59) #102807
Re[1]: 非同期処理 / WebSurfer (24/01/06(Sat) 10:52) #102808
Re[1]: 非同期処理 / とっちゃん (24/01/06(Sat) 15:37) #102812
  └ 非同期処理 / まさ (24/01/06(Sat) 17:58) #102813 ←Now
    ├ Re[3]: 非同期処理 / まさ (24/01/06(Sat) 17:59) #102814
    │└ Re[4]: 非同期処理 / とっちゃん (24/01/06(Sat) 22:26) #102816
    └ Re[3]: 非同期処理 / furu (24/01/06(Sat) 20:29) #102815
      └ Re[4]: 非同期処理 / まさ (24/01/07(Sun) 20:28) #102819
        └ Re[5]: 非同期処理 / とっちゃん (24/01/07(Sun) 23:49) #102820
          └ Re[6]: 非同期処理 / takahiro (24/01/15(Mon) 22:01) #102848
            ├ Re[7]: 非同期処理 / WebSurfer (24/01/15(Mon) 22:11) #102849
            │└ Re[8]: 非同期処理 / takahiro (24/01/15(Mon) 22:21) #102850
            │  └ Re[9]: 非同期処理 / WebSurfer (24/01/15(Mon) 22:24) #102851
            │    └ Re[10]: 非同期処理 / takahiro (24/01/15(Mon) 22:33) #102852
            ├ Re[7]: 非同期処理 / とっちゃん (24/01/16(Tue) 11:33) #102853
            └ Re[7]: 非同期処理 / kiku (24/01/17(Wed) 11:03) #102861

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信