2
我有一個包含選項卡,包含一個用戶控件,包含與複選框的列表視圖的WinForform。Winforms ListView檢查負載
private void lvwRoles_ItemCheck(object sender, System.Windows.Forms.ItemCheckEventArgs e)
{
if (!m_loading && m_locked)
{
e.NewValue = e.CurrentValue;
return;
}
從父窗體調用的方法(在用戶控件中)爲listview分配它的項目(一些選中)。這是在父窗體加載時完成的。
我的問題是,當我第一次點擊相應的選項卡時,發生了ItemCheck
。 這導致m_loading
狀態變量很久以前是錯誤的。
因此,當用戶控件是m_locked
時,沒有項目被檢查。
有沒有辦法解決這個問題,而不改變如何填充列表視圖?
很不清楚。使用調試器,在這個方法上設置一個斷點。調用堆棧會告訴你爲什麼事件被觸發。 –
@HansPassant當然,我已經嘗試過。它顯示[非用戶代碼],主要,[非用戶代碼],ItemCheck。這個事件顯然被框架推遲直到gui被加載。我的問題很清楚。 –