检测到错误时,停止不断弹出消息

时间:2015-01-28 04:49:10

标签: c#

我正在尝试制作一个允许用户转换货币的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();
        }
    }

1 个答案:

答案 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;
    }