将文本框文本转换为int - 即使在TryParse()之后也出错

时间:2015-06-19 12:07:46

标签: c# type-conversion tryparse

应该(希望)应该是一个简单的问题...

我有一个名为updateChart()的函数,程序从文本框(txtBP)获取值输入,并尝试将其转换为整数以存储在局部变量(latestReading)中并用作图形坐标

我原本试图这样做:

int latestReading = Convert.ToInt32(txtBP.Text);

这导致运行时错误,通知我“输入字符串格式不正确”。经过一些研究,我了解到要将文本从文本框转换为int,您应该使用TryParse方法。我这样尝试了这个方法:

int x = 0;
int latestReading = 0;

if (Int32.TryParse(txtBP.Text, out x))
{
    latestReading = Convert.ToInt32(txtBP.Text);
}
else
{
    MessageBox.Show("Invalid Reading!");
}

我确信这会起作用,但是当它进行测试时,即使将值1输入到文本框本身也会导致它跳转到语句的“其他”部分。我已经阅读了堆栈溢出,但无法找到类似的情况。

1 个答案:

答案 0 :(得分:0)

只是为了让每个人都知道,我把事情搞定了。

在单击按钮上调用updateChart()函数似乎将其抛弃,通过在按钮单击时调用的函数内调用它,它似乎能够从文本框中访问数据。仍然不完全确定这是如何发生但没有抱怨。

谢谢大家的帮助!

标记