我正在尝试弄清楚如何清除和显示(重置)我的清除式值后,在输入和检测到不正确的值后。当前,当我捕获不正确的输入时,即使我再次单击“ Enter”按钮,它也坐在那里。任何帮助将不胜感激。

  namespace Mileage
  {
    public partial class Form2 : Form
    {
      private double beginMileage, endMileage, gallons, mpg;        

      public Form2()
      {
        InitializeComponent();
      }

      //Enter button click
      public void menuItem1_Click(object sender, EventArgs e)
      {
        if (endMileage<beginMileage)
        {
            this.label5.Text = String.Format("ERROR: End mileage is less than begining mileage.");  
        }

        else if((endMileage<0)||(beginMileage<0))
        {
             this.label5.Text = String.Format("ERROR: One or more mileage input is negative.");                 
        }

        else if ((endMileage == 0) || (gallons == 0))
        {
            this.label5.Text = String.Format("ERROR: The end mileage and/or gallon input is zero.");

        }

        else 
        {
            beginMileage = double.Parse(this.textBox1.Text.Replace(" ", ""));

            endMileage = double.Parse(this.textBox2.Text.Replace(" ", ""));

            gallons = double.Parse(this.textBox3.Text.Replace(" ", ""))  ;

            mpg = ((endMileage - beginMileage) / gallons);

            this.label5.Text = String.Format("{0}", mpg);
        }

    }

    //exit button click
    public void menuItem2_Click(object sender, EventArgs e)
    {
        Application.Exit();            

    }
}

}

有帮助吗?

解决方案

嗯。 。 。所以我发现了。这只是我做过的逻辑错误:)

namespace Mileage
{
  public partial class Form2 : Form
  {
    private float beginMileage, endMileage, gallons, mpg;        

    public Form2()
    {
        InitializeComponent();
    }

    public void menuItem1_Click(object sender, EventArgs e)
    {
        beginMileage = float.Parse(this.textBox1.Text.Replace(" ", ""));

        endMileage = float.Parse(this.textBox2.Text.Replace(" ", ""));

        gallons = float.Parse(this.textBox3.Text.Replace(" ", ""));

        if((endMileage<0)||(beginMileage<0)||(gallons<0))
        {
             this.label5.Text = String.Format("ERROR: One or more input(s) is negative.");
             this.textBox1.Text = " ";
             this.textBox2.Text = " ";
             this.textBox3.Text = " ";   
        }

        else if ((endMileage == 0) || (gallons == 0))
        {
            this.label5.Text = String.Format("ERROR: The end mileage and/or gallon input is zero.");
            this.textBox1.Text = " ";
            this.textBox2.Text = " ";
            this.textBox3.Text = " ";                 
        }

        else if (endMileage < beginMileage)
        {
            this.label5.Text = String.Format("ERROR: End mileage is less than begining mileage.");
            this.textBox1.Text = " ";
            this.textBox2.Text = " ";
            this.textBox3.Text = " ";

        }
        else 
        {                               
            mpg = ((endMileage - beginMileage) / gallons);
            this.label5.Text = String.Format("{0}", mpg);
        }

    }

    public void menuItem2_Click(object sender, EventArgs e)
    {
        Application.Exit();            

    }
}

}

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top