2008-09-08 76 views
0

我有一個ContextMenu在用戶右鍵單擊ComboBox後顯示。當用戶在上下文菜單中選擇一個項目時,將使用ShowDialog()方法調出表單。上下文菜單重置組合框的SelectedIndex

If frmOptions.ShowDialog() = Windows.Forms.DialogResult.Cancel Then 
    LoadComboBoxes() 
End If 

當窗體關閉時,我刷新父窗體上ComboBoxes中的所有數據。但是,當發生這種情況時,打開ContextMenu的組合框被重置爲具有-1的選定索引,但其他ComboBoxes的其他選定索引保持不變。

如何防止打開上下文菜單的ComboBox被重置?

回答

1

處理此問題的一種方法是使用上下文菜單的彈出式事件來抓取啓動菜單的組合框的選定索引。當對話框窗體關閉時重置選定的索引。

0

我想通了。

我創建了一個方法,通過引用傳遞ContextMenu.SourceControl()屬性,所以我可以操縱稱爲ContextMenu的控件。在該方法開始時,我得到了ComboBox的SelectedValue,並重新加載了ComboBoxes中的數據。然後,我將SelectedValue設置爲我在方法開始時獲得的值。

謝謝DaveK指引我在正確的方向。