我在Windows窗体上有一个Start和一个Done按钮,并且我有车辆存储在一个列表中。c# - 在方法中调用button_click事件处理程序
private void btnStart_Click(object sender, EventArgs e) {
Start();
}
private void Start() {
for (int i = 0; i < vehicles.Count; i++) {
txtLicensePlate.Text = vehicles[i].LicensePlate;
}
所以通过点击开始按钮,使txtLicensePlate文本显示该车的车牌号码一个接一个。 但是,在从车牌号移动之前,我希望for循环等待点击按钮。
private void btnDone_Click(object sender, EventArgs e) {
Add();
}
我试图调用事件处理程序是这样的:
private void Start() {
for (int i = 0; i < vehicles.Count; i++) {
txtLicensePlate.Text = vehicles[i].LicensePlate;
btnDone_Click(sender, e);
}
但我得到一个错误信息说,该“发件人和电子邮件不会在当前的背景下存在”。 而另一方面,它似乎我想循环触发按钮点击它自己(这不是我的意图),这导致我的问题:
如何使循环等待一个按钮点击用户?
编辑:看起来像我造成了一点困惑,所以我想澄清一下: 开始按钮将启动显示第一个车牌号码的循环。然后,用户可以“告诉”当前车辆是否会跑步,并且如果它将运行多少公里。当用户点击完成按钮时,公里数将被添加到车辆,并且应该显示下一个车牌号码。
我不确定我是否理解您的目标 - 您希望启动按钮开始显示您的列表中的车牌号码。它会显示第一个,然后等待用户单击完成,然后单击完成后会显示下一个。那是对的吗? – pstrjds
好的 - 进一步阅读,是你会显示第一个板块,用户点击完成,这会调用“Add”方法,然后显示下一个板块编号? “添加”方法是否涉及UI中的任何内容(我假定它将从文本框中读取)? – pstrjds
是的,你猜对了。 “开始”按钮将启动显示第一个车牌号码的循环。然后,用户可以“告诉”当前车辆是否会跑步,并且如果它将运行多少公里(通过文本框)。当用户点击“完成”按钮时,公里数量将被添加到车辆,并且应该显示下一个车牌号码。 – DewSee