Windows Phone 8计算器

时间:2013-06-23 17:58:40

标签: c# windows windows-phone-7 visual-studio-2012

任何人都可以告诉我为什么这个代码破坏以及如何在用C#编写的Windows Phone 8 Emulator中纠正它,显示错误: System.FormatException中出现mscorlib.ni.dll类型的例外,但未在用户代码中处理


 private void ClickMeButton_Click(object sender, RoutedEventArgs e)
        {
            First_text.Visibility = Visibility.Visible;
            Second_text.Visibility = Visibility.Visible;
            BannerTextBlock.Text = Convert.ToString(Convert.ToInt32(First_text.Text) + Convert.ToInt32(Second_text.Text));
            First_text.Text = String.Empty;
            Second_text.Text = String.Empty;

        }

1 个答案:

答案 0 :(得分:1)

First_text.TextSecond_text.Text不包含整数,因此Convert.ToInt32方法会抛出FormatException

有多种方法可以修复它,例如在用户输入数字时验证文本框或将调用放在Try...Catch块中。或者,只需使用Int32.TryParse。例如

int firstTextBox;
int secondTextBox;

if (Int32.TryParse(First_text.Text, out firstTextBox) && Int32.TryParse(Second_Text.Text, out secondTextBox))
{
    BannerTextBlock.Text = (firstTextBox + secondTextBox).ToString();
}