質問編集履歴
4
ソースコード
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
ソースコード
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
|
-
```
|
64
|
+
```
|
57
65
|
|
58
66
|
```
|
59
67
|
|
2
ソースコード
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,16 +12,7 @@
|
|
12
12
|
このシステムは画面を閉じずに常駐して動かしたいので、Form2で新しい入力があったときに保存ボタンで新しくデータを保存して、Form2が閉じられたときにその新しく保存されたファイルを再読み込みしたいのですが、何か良い方法はありませんでしょうか?
|
13
13
|
|
14
14
|
### 該当のソースコード
|
15
|
-
|
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の表示、ロード時のファイル読み込み
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,19 +12,57 @@
|
|
12
12
|
このシステムは画面を閉じずに常駐して動かしたいので、Form2で新しい入力があったときに保存ボタンで新しくデータを保存して、Form2が閉じられたときにその新しく保存されたファイルを再読み込みしたいのですが、何か良い方法はありませんでしょうか?
|
13
13
|
|
14
14
|
### 該当のソースコード
|
15
|
-
//Form2
|
15
|
+
//ボタン1をクリックしてForm2を表示する
|
16
|
-
private void
|
16
|
+
private void button1_Click(object sender, EventArgs e)
|
17
17
|
{
|
18
|
+
// Form2のインスタンスを生成
|
18
|
-
Form
|
19
|
+
Form2 form2 = new Form2();
|
20
|
+
// form2を表示
|
19
|
-
form
|
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
|
|