类和方法

时间:2012-11-12 18:34:09

标签: c#

我不确定究竟要问什么。当我点击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 = ???????
        }
    }
}

2 个答案:

答案 0 :(得分: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的Text属性指的是当前在列表框中选择的那个。由于列表框中没有任何内容,因此不会选择(或显示)任何内容。您需要向ListBox添加项目,在本例中为当前加速。

答案 1 :(得分:1)

您的问题是,每次单击按钮

时,您都在创建新车

您需要一辆属于

形式的汽车

Form1就像Car一样。添加一个类型为car的成员_car(就在类声明之后)

在表单的构造函数中

_car = new Car();

在点击方法中执行

_car.Accelerate();