入力されたユーザーの値を取得しようとしていますが、数秒で数えられますが、何か入力して開始ボタンをクリックすると、正しい文字列ではありません。私はグーグルとグーグルしていると入力を取得する方法を把握することはできませんし、解析し、intとそれからカウントダウンに変換しながら、もちろんタイマーを介してラベルを更新します。 私はまだ構文のまわりで私の頭をラップするアプリケーションを慰めるために使用してい...C#入力文字列エラー
using System;
using System.Windows.Forms;
namespace Countdown {
public partial class Form1 : Form
{
int seconds; string user; int test = 30;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void tmrCountdown_Tick(object sender, EventArgs e)
{
lblDisplay.Text = test.ToString();
if (test > 1)
{
lblDisplay.Text = test.ToString() + " Seconds Remaining";
}
else if (test == 1)
{
lblDisplay.Text = test.ToString() + " Second Remaining";
}
else
{
tmrCountdown.Stop();
}
test--;
}
public void btnStart_Click(object sender, EventArgs e)
{
int test = int.Parse(txtBoxInput.Text);
tmrCountdown.Start();
}
private void txtBoxInput_TextChanged(object sender, EventArgs e)
{
}
}
}
エラーである「int型のテスト= int.Parse(txtBoxInput.Text);」
何かが始まる前は、(数字はカウントダウンされませんが)数字は機能しますが、もちろん文字/記号でエラーになります。これを行うためのより正しいメソッドがありますか、私は良いプラクティスを学ぼうとしています。私の学習スピードを向上させるために、何か簡単なものをコード化しようとします。 –
'int'も' TryParse'メソッドを持っています。それを見てください。今は入力を整数に変換できると仮定していますが、これは必ずしも当てはまりません。 'int.TryParse'がfalseを返す場合、今のようにキャッチされない例外を作成するのではなく、エラーメッセージをユーザに表示します。 – oerkelens