作者clhd ()
看板C_Sharp
标题[问题] listview 依序选取 item
时间Thu Apr 28 14:34:33 2011
我想要按下一个 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
1F:→ clhd:自行解答了 把MessageBox那行换成Application.DoEvents()即可 04/28 14:42