2009-05-02 93 views
3

ListView控制,重點是對控制範圍內的一些Item - 也就是說,控制保持什麼是重點,這可使用FocusedItem屬性檢索其自己的內部概念。要聚焦我該如何從ListView控件中的所有項目中移除焦點?

我想沒有項目。換句話說,我希望FocusedItem屬性設置爲null。任何想法我可能會做到這一點?

+0

你能否詳細說明你的問題?我不太瞭解它。 – 2009-05-02 00:38:10

+0

試圖清理它有點...不幸的是,它仍然有點假的 - 有沒有selectedFocus方法或成員,我可以找到......也許他的意思FocusedItem? – Shog9 2009-05-02 00:48:36

+0

另見http://stackoverflow.com/questions/276986/listview-focuseditem-becomes-null。 – ESRogs 2009-05-02 01:21:31

回答

6

要擴大Vanuan的回答是:

if (listView1.FocusedItem != null) 
{ 
    listView1.FocusedItem.Focused = false; 
} 

東西告訴我,你也想取消選擇的項目。所以,你可能也想這樣做:

if (listView1.SelectedItems.Count != 0) 
{ 
    listView1.SelectedItems[0].Selected = false; 
} 
4

我認爲,這是

listView1.FocusedItem.Focused=false; 

確保listView1.FocusedItem不爲空。

(感謝brianpeiris擴大)

1

當新的項目添加到列表視圖控件,它會在項目周圍繪製虛線框。有些情況下你不想要這種視覺提示。只需將選定的項目突出顯示就足夠了。這是防止在向列表視圖控件添加新項目時顯示虛線框的一種方法。

ListViewItem item = new ListViewItem(); 
myListView.Items.Add(item); 
myListView.SelectedItems.Clear(); 
myListView.FocusedItem = null; 
myListView.Refresh(); 

UPDATE:
我的解決方案不能解決問題。我希望有一個簡單的方法來「控制」一個控件,但在Google搜索幾個小時後,我找不到任何控件。我也在尋找一種方法來防止這些虛線出現。當我點擊一個按鈕添加列表視圖項時,沒有問題。只有在按Tab鍵進入一個按鈕(接收輸入焦點)後按下Enter鍵,纔會顯示出來。