回答編集履歴

3

修正

2020/11/27 06:37

投稿

YAmaGNZ
YAmaGNZ

スコア10489

test CHANGED
@@ -5,6 +5,10 @@
5
5
  行っていることをものすごく単純化して書くと
6
6
 
7
7
  ```C#
8
+
9
+ message = "負け";
10
+
11
+ mess = "であなたの";
8
12
 
9
13
  grades += array_match_result.Length.ToString() + "戦中 "
10
14
 

2

修正

2020/11/27 06:37

投稿

YAmaGNZ
YAmaGNZ

スコア10489

test CHANGED
@@ -22,12 +22,16 @@
22
22
 
23
23
 
24
24
 
25
+ this.lblResult.Text = message;
26
+
27
+ this.label4.Text = mess;
28
+
25
29
  this.WinRate.Text = grades;
26
30
 
27
31
  ```
28
32
 
29
33
  となります。
30
34
 
31
- MessageBox.Showでメッセージボックスを閉じるまで続きが実行されないので、画面のWinRateが更新されません。
35
+ MessageBox.Showでメッセージボックスを閉じるまで続きが実行されないので、画面のラベルが更新されません。
32
36
 
33
37
  なので、更新してからメッセージボックスを出しましょうということです。

1

追記

2020/11/27 06:34

投稿

YAmaGNZ
YAmaGNZ

スコア10489

test CHANGED
@@ -1 +1,33 @@
1
1
  画面の更新を行う前にMessageBoxを表示しているので、そこで処理が停止し、画面の文言がまだ更新されていないだけなのではないですか?
2
+
3
+
4
+
5
+ 行っていることをものすごく単純化して書くと
6
+
7
+ ```C#
8
+
9
+ grades += array_match_result.Length.ToString() + "戦中 "
10
+
11
+ + "あなた:" + cnt_win.ToString() + "勝 "
12
+
13
+ + "わたし:" + cnt_lose.ToString() + "勝 "
14
+
15
+ + "あいこ:" + cnt_draw.ToString();
16
+
17
+
18
+
19
+ MessageBox.Show(array_match_result.Length.ToString() + "戦中 " + cnt_win.ToString() + "勝"
20
+
21
+ + cnt_lose.ToString() + "敗" + cnt_draw.ToString() + "分けであなたが勝ちました。", "勝敗決定");
22
+
23
+
24
+
25
+ this.WinRate.Text = grades;
26
+
27
+ ```
28
+
29
+ となります。
30
+
31
+ MessageBox.Showでメッセージボックスを閉じるまで続きが実行されないので、画面のWinRateが更新されません。
32
+
33
+ なので、更新してからメッセージボックスを出しましょうということです。