推 Piner:謝謝! 11/22 17:56
※ 引述《Piner (追憶似水年華)》之銘言:
: ※ [本文轉錄自 Programming 看板]
: 作者: Piner (追憶似水年華) 看板: Programming
: 標題: [請益] 請問要怎樣設定警告訊息
: 時間: Sun Nov 22 08:57:08 2009
: http://webhd.xuite.net/_oops/abay/i7g
: 這是我自己寫的計算FeNa的工具(一種腎功能指標)
: 有四個textbox 輸入數字按下 算出FeNa
: 可是輸入非數字 按下去程式會錯誤並終止
: 請問這樣我要多加什麼東西 讓他出現警告
: 比如:輸入的不是一個數字 請重新輸入
: 謝謝 底下是VC#程式碼
: namespace WindowsFormsApplication1
: {
: public partial class Form1 : Form
: {
: public Form1()
: {
: InitializeComponent();
: }
: private void button1_Click(object sender, EventArgs e)
: {
: double un, pn, uc, pc;
: un = Convert.ToDouble(textBox1.Text);
: pn = Convert.ToDouble(textBox2.Text);
: pc = Convert.ToDouble(textBox3.Text);
: uc = Convert.ToDouble(textBox4.Text);
: double fena;
: fena = un * pc / uc / pn*100;
: label5.Text = fena.ToString()+"%";
: }
: private void button2_Click(object sender, EventArgs e)
: {
: textBox1.Text = "0";
: textBox2.Text = "0";
: textBox3.Text = "0";
: textBox4.Text = "0";
: label5.Text = "0";
: }
: private void Form1_Load(object sender, EventArgs e)
: {
: }
: }
: }
雖然以下是用Try Catch撰寫 不過還是建議不要養成習慣 建議由鍵盤事件加入判斷
因為Try Catch會嚴重拖延程式的執行速度 單純使用If還是比較好的選擇
如果有興趣的話可以嚐試用Stopwatch類別看看
Stopwatch: http://kuso.cc/59Ee
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double un, pn, uc, pc;
bool flag = ture;
try
{
un = Convert.ToDouble(textBox1.Text);
pn = Convert.ToDouble(textBox2.Text);
pc = Convert.ToDouble(textBox3.Text);
uc = Convert.ToDouble(textBox4.Text);
}
catch
{
flag = false;
}
if(flag)
{
double fena;
fena = un * pc / uc / pn*100;
label5.Text = fena.ToString()+"%";
}
else
{
MessageBox.Show("Error.");
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "0";
textBox2.Text = "0";
textBox3.Text = "0";
textBox4.Text = "0";
label5.Text = "0";
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.86.18.21
※ 編輯: optimist9266 來自: 58.86.18.21 (11/22 16:33)
※ 編輯: optimist9266 來自: 58.86.18.21 (11/22 16:40)