回答編集履歴
1
全部 Form1 に書いた版を追記
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
|
+
```
|