我在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