1

我不确定到底要问什么。Car当我单击“加速”按钮时,我创建了一个名为“Form1我希望它加速 5 个增量”的类。我需要使用 Car 类中的 Accelerate 方法来执行此操作。我以为我调用它是正确的,但没有任何效果。我需要简单的答案,因为我是初学者。

namespace Car_Class
{
    class Car
    {
        public string _year;
        public string _make;
        public double _speed;

        public Car(string year, string make, double speed)
        {
            _year = year;
            _make = make;
            _speed = 0;
        }

        public string Year
        {
            get { return _year; }
            set { }
        }

        public string Make
        {
            get { return _make; }
            set { }
        }

        public double Speed 
        {
            get { return _speed; }
            set { }
        }

        public double Accelerate()
        {
            return _speed += 5;
        }

        public double Brake()
        {
           return  _speed -= 5;
        }
    }
}

然后按钮....

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

        private void accButton_Click(object sender, EventArgs e)
        {
            string _year = "";
            string _make = "";
            int _speed = 0;

            Car acc = new Car(_year, _make, _speed);

            acc.Accelerate();

            currentspeedListBox.Text = ???????
        }
    }
}
4

2 回答 2

2

您需要设置 currentspeedListBox.Text = acc.Speed.ToString()

您是否知道您不会看到速度增加但您只会看到 5?当您击中框(从 0 开始)时,您正在创建一辆新车,然后在您加速时将其增加 5。一切都完成后,汽车就会离开,如果你再次按下按钮,过程就会重新开始。(以速度 0 创建一辆新车,然后将其增加到 5)

如果您想继续看到文本框的增加,您需要将汽车作为私有变量放在 Form1 中,或者您需要采用生成的速度 (5) 并将其存储为方法外部的私有变量。

编辑:

private Car _car = new Car("","",0)

private void accButton_Click(object sender, EventArgs e)
{
     _car.Accelerate();
     currentspeedListBox.Items.Add(car.Speed.ToString());
}

我假设文本框,即使它另有说明。ListBox 是包含许多项目的容器,因此它有一个 Items 属性,其中包含所有内容。列表框的文本属性是指当前在列表框中选择了哪一个。由于列表框中没有任何内容,因此没有选择(或出现)任何内容。您需要将项目添加到 ListBox,在本例中为当前加速度。

于 2012-11-12T18:40:24.553 回答
1

您的问题是每次单击按钮时您都在创建一辆新车

您需要一辆属于表格成员的汽车

Form1 是一个类,就像 Car 一样。添加一个类型为 car 的成员 _car (就在 class 语句之后)

在表单的构造函数中

_car = new Car();

在点击方法中做

_car.Accelerate();
于 2012-11-12T18:38:43.173 回答