我正在尝试制作一个允许用户转换货币的Windows窗体应用程序。我目前正在努力确保传递给转换器的值只是一个正整数。每当输入除正整数之外的任何东西时,我都会弹出一条消息,但是当我输入类似" a"它不断弹出,不会让我输入任何其他值。
public int USCurren(int value)
{
bool MessageShown;
string input = textBox1.Text;
while(true)
{
if (int.TryParse(input, out value))
{
if (MessageShown = false && value <= 0)
{
MessageShown = true;
MessageBox.Show("Please Input A Positive Integer");
textBox1.Clear();
}
else
return value;
MessageShown = false;
}
else
{
MessageShown = true;
MessageBox.Show("Please Input A Positive Integer");
textBox1.Clear();
}
}
答案 0 :(得分:0)
你可以这样做,
public int USCurren()
{
string input = textBox1.Text;
int value = -1;
try
{
if (int.TryParse(input, out value) && value > 0)
{
//Write your code here to convert the currency;
return value;
}
else
{
MessageBox.Show("Please Input A Positive Integer");
textBox1.Clear();
value = -1;
}
}
catch (Exception ex)
{
//Show exception here
}
return value;
}