C# 类和方法
我不知道该问什么。当我单击C# 类和方法,c#,C#,我不知道该问什么。当我单击Form1上的加速按钮时,我创建了一个名为Car的类,我希望它加速5个增量。我需要使用从汽车类加速的方法来做到这一点。我以为我说得对,但什么都没用。我需要简单的答案,因为我是初学者 namespace Car_Class { class Car { public string _year; public string _make; public double _speed; public
Form1
上的加速按钮时,我创建了一个名为Car
的类,我希望它加速5个增量。我需要使用从汽车类加速的方法来做到这一点。我以为我说得对,但什么都没用。我需要简单的答案,因为我是初学者
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 = ???????
}
}
}
您的问题是每次单击按钮时都在创建一辆新车 您需要一辆属于表单成员的汽车 Form1和Car一样是一个类。向其添加类型为car的成员car(就在class语句之后) 在窗体的构造函数中
_car = new Car();
在click方法中
_car.Accelerate();
您需要设置currentspeedListBox.Text=acc.Speed.ToString() 您是否意识到,您不会看到速度增加,但只会看到5?当你撞到箱子(从0开始)时,你正在创造一辆新车,然后当你加速时,你将它增加5。一切完成后,汽车就会开走,如果你再次按下按钮,整个过程就会重新开始。(以速度0创建一辆新车,然后将其增加到5) 如果你想继续看到文本框的增加,你需要把汽车作为一个私有变量放在Form1中,或者你需要把你产生的速度(5)作为私有变量存储在方法之外 编辑:
我假设textbox,尽管它不是这样说的。ListBox是许多项的容器,因此它有一个items属性,其中包含所有内容。列表框的文本属性指的是当前在列表框中选择的文本。由于列表框中没有任何内容,因此不会选择(或显示)任何内容。您需要将项目添加到列表框中,在本例中为当前加速度。不要将
set{}
s设为空。不工作是什么意思?如果您将?????
更改为acc.Speed.ToString()代码>会发生什么?正确的设置是{u speed=value}还是value需要等于某个值?当我添加acc.speed.ToString()时,什么都不会发生+1-很高兴看到一个新手在发帖前尝试过一些东西。做得好,祝你编程顺利。我尝试了这个,但列表框中没有显示任何内容。谢谢你的努力!我想问你是用文本框还是列表框。如果它是一个列表框,您没有设置文本,但是您将在列表框中添加项目。我只是把上面的代码改成了一个列表框,你就是主人!谢谢你,我做到了!!我尝试了这个,但列表框中没有显示任何内容。谢谢你的努力!
private Car _car = new Car("","",0)
private void accButton_Click(object sender, EventArgs e)
{
_car.Accelerate();
currentspeedListBox.Items.Add(car.Speed.ToString());
}