質問編集履歴

4

ソースコード

2023/09/21 12:26

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -22,6 +22,9 @@
22
22
  // form2を表示
23
23
  form2.Show();
24
24
  }
25
+
26
+ private void Form1_Load(object sender, EventArgs e)
27
+ {
25
28
  //ロード時のファイル読み込み
26
29
  if (File.Exists(mastFile))
27
30
  {

3

ソースコード

2023/09/21 12:25

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -13,7 +13,15 @@
13
13
 
14
14
  ### 該当のソースコード
15
15
 
16
-
16
+ ```C#
17
+ //ボタン1をクリックしてForm2を表示する
18
+ private void button1_Click(object sender, EventArgs e)
19
+ {
20
+ // Form2のインスタンスを生成
21
+ Form2 form2 = new Form2();
22
+ // form2を表示
23
+ form2.Show();
24
+ }
17
25
  //ロード時のファイル読み込み
18
26
  if (File.Exists(mastFile))
19
27
  {
@@ -53,7 +61,7 @@
53
61
 
54
62
 
55
63
 
56
- ```C#
64
+ ```
57
65
 
58
66
  ```
59
67
 

2

ソースコード

2023/09/21 12:21

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,16 +12,7 @@
12
12
  このシステムは画面を閉じずに常駐して動かしたいので、Form2で新しい入力があったときに保存ボタンで新しくデータを保存して、Form2が閉じられたときにその新しく保存されたファイルを再読み込みしたいのですが、何か良い方法はありませんでしょうか?
13
13
 
14
14
  ### 該当のソースコード
15
- //ボタン1をクリックしてForm2を表示する
15
+
16
- private void button1_Click(object sender, EventArgs e)
17
- {
18
- // Form2のインスタンスを生成
19
- Form2 form2 = new Form2();
20
- // form2を表示
21
- form2.Show();
22
-
23
-
24
- }
25
16
 
26
17
  //ロード時のファイル読み込み
27
18
  if (File.Exists(mastFile))
@@ -58,6 +49,10 @@
58
49
  string file = sr.ReadLine();
59
50
  string[] fileData = file.Split(',');
60
51
        }
52
+
53
+
54
+
55
+
61
56
  ```C#
62
57
 
63
58
  ```

1

Form2の表示、ロード時のファイル読み込み

2023/09/21 11:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,19 +12,57 @@
12
12
  このシステムは画面を閉じずに常駐して動かしたいので、Form2で新しい入力があったときに保存ボタンで新しくデータを保存して、Form2が閉じられたときにその新しく保存されたファイルを再読み込みしたいのですが、何か良い方法はありませんでしょうか?
13
13
 
14
14
  ### 該当のソースコード
15
- //Form2が閉じられたらForm1アクティブにする
15
+ //ボタン1をクリックしてForm2を表示する
16
- private void Form2_FormClosed(object sender, FormClosedEventArgs e)
16
+ private void button1_Click(object sender, EventArgs e)
17
17
  {
18
+ // Form2のインスタンスを生成
18
- Form1 form1 = new Form1();
19
+ Form2 form2 = new Form2();
20
+ // form2を表示
19
- form1.Activate();
21
+ form2.Show();
22
+
23
+
20
24
  }
25
+
21
-  
26
+ //ロード時のファイル読み込み
27
+ if (File.Exists(mastFile))
28
+ {
29
+ //アラームの名前でグループ化してリストを作る
30
+      //名前をキー,1行全体をvalueとする
31
+ var alarm = File.ReadLines(mastFile, Encoding.GetEncoding("Shift_JIS"))
32
+ .Select(x => new { Key = x.Split(',')[0], Value = x, })
33
+ .GroupBy(x => x.Key) //名前でグループ化する
34
+ .Select(x => string.Join(",", x.Select(y => y.Value)))
35
+ .ToList();
36
+
37
+ string[] alarmList = alarm.ToArray(); //リストを配列化する
38
+
39
+ dataGridView1.Rows.Add(alarmList.Length);
40
+
41
+ //リストの名前をDataGridViewに入れる
42
+ for (int i = 0; i < alarmList.Length; i++)
43
+ {
44
+ string fileData = alarmList[i];
45
+ string[] alarmData = fileData.Split(',');
46
+ name = alarmData[0].ToString().Replace("\"", "");
47
+ dataGridView1.Rows[i].Cells[0].Value = name;
48
+
49
+ }
50
+
51
+ //マスタファイルを読み込む
52
+ StreamReader sr = new StreamReader(mastFile, Encoding.GetEncoding("SHIFT_JIS"));
53
+ int valNum = 0; //数値変換用の変数
54
+
55
+ while (!sr.EndOfStream)
56
+ {
57
+ //読んだ一行をカンマで区切って配列にする
58
+ string file = sr.ReadLine();
59
+ string[] fileData = file.Split(',');
60
+       }
22
61
  ```C#
23
62
 
24
63
  ```
25
64
 
26
65
  ### 試したこと
27
- Form2が閉じたときにForm1をアクティブにして、Form1がアクティブになったときにファイルの読み込み処理をしようと思ったのですが、上手く処理が走りませんでした。
28
66
 
29
67
  ### 補足情報(FW/ツールのバージョンなど)
30
68