回答編集履歴

1

全部 Form1 に書いた版を追記

2022/06/03 01:43

投稿

fana
fana

スコア11663

test CHANGED
@@ -33,3 +33,36 @@
33
33
  label1.Text = m_StrDecider.ToNext().Current;
34
34
  }
35
35
  ```
36
+
37
+ ---
38
+
39
+ [追記]
40
+ 同じことを全部 Form1 に書いたらこうなる.
41
+
42
+ ```csharp
43
+ public partial class Form1 : Form
44
+ {
45
+ //m_Str は,ラベルに表示する3つの文字列を持っています.
46
+ //m_CurrIndex は,現在ラベルに何番目の文字列を表示しているのかを覚えておく変数です.
47
+ //(つまり,ラベルには m_Str[ m_CurrIndex ] を表示するということ)
48
+ private readonly string[] m_Str = new string[3]{ "a", "b", "c" };
49
+ private int m_CurrIndex = 0;
50
+
51
+ public Form1()
52
+ {
53
+ InitializeComponent();
54
+
55
+ //ラベルに初期の文字列をセット
56
+ label1.Text = m_Str[ m_CurrIndex ];
57
+ }
58
+
59
+ private void button1_Click(object sender, EventArgs e)
60
+ {
61
+ //m_CurrIndexを更新
62
+ //(ここを実行するたびに 0->1->2->0->1->2->0-> ... と変わる)
63
+ m_CurrIndex = (m_CurrIndex+1) % 3;
64
+ //ラベルの文字列をセット
65
+ label1.Text = m_Str[ m_CurrIndex ];
66
+ }
67
+ }
68
+ ```