[問題] listview 依序選取 item

看板C_Sharp作者時間14年前 (2011/04/28 14:34), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/1
我想要按下一個 botton 後,會依序選取 item 並反白 例如從 item[0] 選到 item[9],類似播放的功能 private void bt_Click(object sender, EventArgs e) { for (int i = 0; i < listView1.Items.Count; i++) { listView1.Focus(); if (i > 0) { listView1.Items[i - 1].Selected = false; listView1.Items[i - 1].Focused = false; } listView1.Items[i].Selected = true; listView1.Items[i].Focused = true; //MessageBox.Show(listView1.FocusedItem.Text); System.Threading.Thread.Sleep(Convert.ToInt16( listView1.Items[i].SubItems[1].Text)); } } 我有建立一個 subitem 去存 delay 時間,隔多久選取下一個 現在的問題是,選取過程中,資料都有完整的送出 但是畫面上 item 都沒有反白選取,只有 for 迴圈跑完 最後一個 item 才會反白選取 如果加了一行 MessageBox,在跳出 MessageBox 的時候,選取的那行就會反白 猜測是 focus 沒在 listview 上,但我一直找不到可以解除 listviw focus 的方法 有請各位大大幫忙了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.106.41

04/28 14:42, , 1F
自行解答了 把MessageBox那行換成Application.DoEvents()即可
04/28 14:42, 1F
文章代碼(AID): #1DkGfyuk (C_Sharp)