作者skitty (aki)
看板C_Sharp
标题关於textBox的TextChanged
时间Fri Jul 15 17:44:11 2016
我在练习VisualC#2015基础必修上面的程式码
里面有一个是利用TextChanged的方法
将输入的数字乘上金额并自动显示
因为避免输入非数字所以有用try...catch..来包住
我的问题是怎麽让滑鼠点在textBox时能自动清除里面的数字?
因为catch里面是写textBox.Text="0"
等於user点到方块里打1显示会是01
除非整个反白打1才会是1
但是用Text=""会因为转不成数字变成死回圈...
code:
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
int x = Convert.ToInt32(textBox1.Text)*250;
int y = Convert.ToInt32(textBox2.Text)*150;
label.Text = Convert.ToString(x+y);
}
catch
{
label.Text = "请输入数字!";
textBox1.Text="0";
}
}
有另一个textBox2_TextChanged写的是一样的码,所以就不重复贴了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.240.212.41
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1468575853.A.5D0.html
1F:→ yuhaw0715: 用textbox的mouse_click试试看07/15 17:51
2F:→ enonrick: NumericUpDown 可以让你只填数字,但你在学习 winform的07/15 17:58
3F:→ enonrick: 邪恶,那你可以配合MouseClick 事件与07/15 17:59
4F:→ enonrick: TextBox.SelectAll(),判断部份用 int.TryParse07/15 18:00
5F:→ enonrick: 除非真的没辨法,try catch 不要用来做常规防呆07/15 18:01
6F:→ Litfal: 有Validating事件可以用...07/15 18:03
感谢前辈建议!
因为书本上介绍到东西实在有限
但是查也不知道用哪个keyword才好
※ 编辑: skitty (114.136.57.193), 07/15/2016 18:06:17
7F:推 YahooTaiwan: int.TryParse 可以避免转型发生 exception 07/15 18:54