2010-11-08 84 views
3

我正在寫listView1.Items [1] .Selected = true; 但它不突出顯示該項目....什麼是錯的? 我也將HideSelection屬性更改爲False,所以現在至少我可以看到一些Gray高亮顏色,但藍色在哪裏?當我用鼠標點擊時,它是藍色的,但是當我將它設置爲上面貼出的代碼時,它不是藍色的......我做錯了什麼?ListView中選定項目的顏色

回答

3

這是你的Windows顏色欺騙你。
我剛剛測試過它,並且HideSelection設置爲false,我設置了選定的項目,並且我看到該項目變爲灰色,這是我在非活動控件中選定項目的Windows顏色定義。
如果您希望它變成藍色,這很可能是活動控件中所選項目的顏色,請將焦點設置爲ListView,並說listView1.Focus(),然後您會看到您正在談論的顏色,但您我剛剛把重點轉移到了它,所以要小心。

+0

嗯,好的爲什麼如果我使用ListBOX,我沒有這個問題? – Bohn 2010-11-08 22:17:43

+1

嗯,從技術上講,這不是一個「問題」,它只是微軟決定實現的方式。我會在下一次看到他時詢問Bill =)ListBox似乎不關心不活動控件的顏色,它始終使用活動控件顏色。但非常注意細節。 – BeemerGuy 2010-11-08 22:22:35

+0

哈哈!最好問問Hejlsberg!他是首席架構師!...不幸的是我不能使用「焦點」技術,因爲我在文本框內鍵入搜索字符串,並突出顯示該ListView中的結果,因此如果將焦點移動到ListView,則用戶不能繼續在文本框中輸入:( – Bohn 2010-11-08 22:26:44

2
listView1.Select(); 
listView1.Items[index].Selected = true;