InitializeComponent();
int time = Convert.ToInt32(textBox1.ToString());
timer1.Interval = 1000 * time;
timer1.Enabled = true;
timer1.Start();
其中
timer1.Interval = 1000;
正常來說這樣
但為了客戶說 他要活得,在Textbox 上寫多少數字 他時間徘成多久跑一次他要自己決定
所以
我
int time = Convert.ToInt32(textBox1.ToString());
timer1.Interval = 1000 * time;
這樣寫法,卻發生Bug 不太懂 哪裡錯...說"輸入字串錯誤"
那換我問你
數字可以運算
還是字串可以運算
怎麼不用
NumericUpDown
TextBox ,您還要去確認是否輸入的是數字,還是空白+ 數字
還是英文字...等
建議按下確定之後再改,
一開始就先設為1秒,
或是按下確定之後,
如果沒有開始跑Timer再開始跑,
這就看你們要怎麼設計了...
做了一個小程式
private void button1_Click(object sender, EventArgs e)
{
int number = 0;
if(Int32.TryParse(textBox1.Text, out number))
{
timer1.Interval = number * 1000;
}
else
{
MessageBox.Show("請輸入數字");
}
}
Convert.ToInt32如果遇到無法轉換的,就會拋出例外。如果沒有用Try Catch包起來,會導致程式Crash
另外Timer沒辦法很準,會有一些時間差,這是無法避免的。
對
小魚大..我已經知道問題點在哪了
int time = Convert.ToInt32(textBox1.ToString());
這句明顯就是錯誤了,textBox1是個物件,它不是屬性值,無法直接作ToString的處理,
看來也是對最基本的物件沒有了解,才會犯這樣的錯誤