トップ回答者
カウンターアプリを作りたい

質問
回答
-
外池と申します。
さて、まず、注意点ですが、プログラムの中で「値」はいくつもの種類があります。
例えば、「加減乗除のできる数字」と「文字列」です。
Integerのsujiは「数字」になります。計算はできますが、アルファベットや漢字などの「文字」は扱えません。
しかし、Label1.Textは「文字列」で、任意の文字が扱えます。しかし、「計算」はできません。
普通、このように違うもの同士は、=で代入したり、+で直接足し算したりできません。
足し算は、「数字」にそろえて計算しましょう。
suji = CInt(Label1.Text) + 1
Cintは、「文字列」をIntegerの「数字」に変換してくれます。そうすれば、+を使って1を足し算できます。
つぎに、文字列に変換するには、
Label1.Text = suji.ToString
というようにやります。
-
窓際族 さんからの引用 だと、永遠に1ですよ。いつもスタートは0ですから。
それはコードからは分かりません。
コードではsuji変数に0を代入していますが、その次の行で使わずに捨てているので、「スタートは0」とは断定できません。
trapemiya さんからの引用 Label1.Textはたぶん空白なんじゃないかと思います。VBだと適当にキャストしてしまいますので。いや、C#もですが。
だとしても、Label1.Textに代入しているので、ボタンのイベントが生きていると1が続くとは考えにくいような気がします。
イベントが動作していない説が有力かなと思っています。
すべての返信
-
外池と申します。
さて、まず、注意点ですが、プログラムの中で「値」はいくつもの種類があります。
例えば、「加減乗除のできる数字」と「文字列」です。
Integerのsujiは「数字」になります。計算はできますが、アルファベットや漢字などの「文字」は扱えません。
しかし、Label1.Textは「文字列」で、任意の文字が扱えます。しかし、「計算」はできません。
普通、このように違うもの同士は、=で代入したり、+で直接足し算したりできません。
足し算は、「数字」にそろえて計算しましょう。
suji = CInt(Label1.Text) + 1
Cintは、「文字列」をIntegerの「数字」に変換してくれます。そうすれば、+を使って1を足し算できます。
つぎに、文字列に変換するには、
Label1.Text = suji.ToString
というようにやります。
-
窓際族 さんからの引用 だと、永遠に1ですよ。いつもスタートは0ですから。
それはコードからは分かりません。
コードではsuji変数に0を代入していますが、その次の行で使わずに捨てているので、「スタートは0」とは断定できません。
trapemiya さんからの引用 Label1.Textはたぶん空白なんじゃないかと思います。VBだと適当にキャストしてしまいますので。いや、C#もですが。
だとしても、Label1.Textに代入しているので、ボタンのイベントが生きていると1が続くとは考えにくいような気がします。
イベントが動作していない説が有力かなと思っています。