投稿者 るきお  (社会人) 投稿日時 2022/11/6 19:27:32
うーん、どうなっているんでしょう…。みたところ良さそうです。

ちょっと確認ですが、int.Parse は環境で設定されている言語や地域(.NETではこれを「カルチャー」と呼びます)の影響を受けます。使用されているWindowsなど何か日本・日本語以外の設定になっているようなものに心当たりはありますか?

とはいえ、"0" がエラーというのはちょっと考えにくいので念のための確認です。

プログラムを次のように書き換えると、カルチャーの影響が無視されます。このように書き換えるとうまくいったりしますか?
this.Text = (int.Parse(this.Text, CultureInfo.InvariantCulture) + 1).ToString();


これで、うまくいかないなら、お手数ですが、次のようにプログラムを2行に書き換えて、どの行でエラーになるのか、確認してみてください。

int x = int.Parse(this.Text, CultureInfo.InvariantCulture);
this.Text = (x + 1).ToString();


多分、1行目でエラーになると思うのですが…。