我创建了一个Windows应用商店应用,它有两个按钮,允许我的用户选择图片数量。控件在需要选择金额时工作,但当他们点击文本框内的“X”时,如果他们想清除它,然后按下按钮,应用程序崩溃。
当我调试时,我的代码块出现了这个错误:
{"Input string was not in a correct format."}
private void PicturesSubtract_Click(object sender, RoutedEventArgs e)
{
int? value = Convert.ToInt32(this.Pic.Text);
if (value > 1)
{
value--;
}
this.Pic.Text = value.ToString();
}
尝试添加或减去图片数量时出现同样的错误。
对此错误的任何帮助都会很棒。
答案 0 :(得分:0)
此行会引发您的错误
int? value = Convert.ToInt32(this.Pic.Text);
原因是Convert.ToInt32
假设您有一个有效的整数,并在其他情况下抛出异常,包括null。
http://msdn.microsoft.com/en-us/library/system.convert%28v=vs.110%29.aspx
我建议有两种选择
首先,在执行任何其他操作之前检查文本值:
private void PicturesSubtract_Click(object sender, RoutedEventArgs e)
{
if(String.IsNullOrEmpty(this.Pic.Text))
return;
....
第二种,使用Int.TryParse方法:
private void PicturesSubtract_Click(object sender, RoutedEventArgs e)
{
int value;
if(int.TryParse(this.Pic.Text, out value))
{
//...Do Stuff, Value is stored at this point