需要使用创建的类来创建实例并在Form.cs文件中使用它

时间:2016-02-24 05:01:17

标签: c# forms class methods

所以,我在这里不知所措。有一个小项目可以继续。必须创建一个旅行类,然后创建一个Windows窗体应用程序,并使用我创建的类来使用该窗体计算每加仑英里数和每英里成本。

完成了课程:

namespace TripCalculator
{
class Trip
{
    //Data members of class
    private string destination;
    private double distTrav;
    private double totalCostGas;
    private double numGallonsGas;


    //Default Constructor
    public Trip()
    {
    }

    //Constructor with all parameters
    public Trip(string tripDest, double milesTrav, double ttlPriceGas, n    double numGalls)
    {
        destination = tripDest;
        distTrav = milesTrav;
        totalCostGas = ttlPriceGas;
        numGallonsGas = numGalls;

    }

    //Propery for destination data field
    public string Destination
    {
        set
        {
            destination = value;
        }
        get
        {
            return destination;
        }


    }

    public double DistTrav
    {

        set
        {
            distTrav = value;
        }
        get
        {
            return distTrav;
        }
    }

    public double TotalCostGas
    {

        set
        {
            totalCostGas = value;
        }
        get
        {
            return totalCostGas;
        }
    }

    public double NumGallonsGas
    {

        set
        {
            numGallonsGas = value;
        }
        get
        {
            return numGallonsGas;
        }
    }

    public double CalculateMPG()
    {
         return (distTrav / numGallonsGas);
    }

    public double CalculateCPM()
    {
        return (totalCostGas / numGallonsGas);
    }

    public override string ToString()
    {
        return CalculateMPG().ToString();

    }

}
}

我希望能够将目的地,距离,成本和加仑气体输入表格。然后我希望mpg和每英里成本在文本框中返回给我。 这是form.cs

namespace TripCalculator
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void calcBtn_Click(object sender, EventArgs e)
    {
        string destination;
        double distTrav;
        double totalCostGas;
        double numGallonsGas;

        destBox.Focus();
        distBox.Focus();
        gasBox.Focus();
        galBox.Focus();

        Trip aTrip = new Trip (destination, distTrav, totalCostGas, numGallonsGas );

        mpgTxt.Text = aTrip.CalculateMPG().ToString();
        cpmTxt.Text = aTrip.CalculateCPM().ToString();
        destBox.Enabled = false;


    }
}
}

我得到了4个错误,说“使用未分配的局部变量'目的地'(以及上面的其他3个变量)。它将启动程序,但当我输入文本框并单击按钮时不返回任何内容我做错了什么?请帮忙!谢谢。

2 个答案:

答案 0 :(得分:0)

private void calcBtn_Click(object sender, EventArgs e)
{
    string destination; // Give value for these
    double distTrav; // Give value for these
    double totalCostGas; // Give value for these
    double numGallonsGas; // Give value for these
}

从用户输入或用于测试的硬编码值分配一些值

类似下面的代码,您可以从Winform中的文本框中获取值,假设您有这样的文本框。

string destination = DestinationTextBox.Text;
double distTrav = double.Parse(DistTravTextBox.Text);
double totalCostGas = double.Parse(TotalCostGasTextBox.Text);
double numGallonsGas = double.Parse(NumGallonsGasTextBox.Text);

答案 1 :(得分:0)

您需要设置变量的文本框值

        string destination = txtDestination.Text;
        double distTrav = double.Parse(txtTrav.Text);
        double totalCostGas = double.Parse(txtCostGas.Text);
        double numGallonsGas = double.Parse(GallonsGas.Text);