我有一個ObjectListView
,它基本上是標準.NET ListView
的包裝。我的問題是,我無法弄清楚正確的方法調用順序來添加一個新的對象到控件,滾動控件以確保對象是可見的,並選擇對象。下面是我的代碼來實現這一點。一切正常,但由於某種原因,選定的項目/對象的背景顏色不顯示,直到我點擊或重新調整其中一列。我不確定控制是不是集中或什麼。ObjectListView不顯示所選項目的選擇顏色
// objectListViewItems is of type BrightIdeasSoftware.ObjectListViewItems
objectListViewItems.AddObject(e.InsertedItem);
objectListViewItems.Refresh();
objectListViewItems.Focus();
objectListViewItems.EnsureModelVisible(e.InsertedItem);
objectListViewItems.SelectedObject = e.InsertedItem;
objectListViewItems.Focus();
下面的代碼更新了ObjectListView中的一個項目,工作得很好。不知道我上面做錯了什麼...
objectListViewItems.RefreshObject(itemToEdit);
objectListViewItems.Focus();
objectListViewItems.SelectObject(itemToEdit);
感謝您的解決方案...上面的代碼是在一個自定義的EventHandler。當我全程通過Windows代碼時,看起來像是發生了什麼事情,導致控件失去焦點並被取消選中。我將代碼移出事件處理程序,並且它工作正常。今天,我認爲我將嘗試設置HideSelection = false並將其移回事件處理程序以查看會發生什麼。 – Grasshopper
Hideselection = false是對我的幫助! –