2008-09-08 13 views
0

ユーザーがComboBoxを右クリックした後に表示されるContextMenuがあります。コンテキストメニューでユーザーが項目を選択すると、フォームがShowDialog()メソッドを使用して呼び出されます。コンテキストメニューはComboBoxのSelectedIndexをリセットします

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

このフォームを閉じると、親フォームのコンボボックス内のすべてのデータが最新表示されます。ただし、このとき、ContextMenuを開いたComboBoxは、選択されたインデックスが-1になるようにリセットされますが、他のComboBoxの他の選択されたインデックスは同じままです。

コンテキストメニューを開いたComboBoxがリセットされないようにするにはどうすればよいですか?

答えて

1

これを処理する1つの方法は、コンテキストメニューのポップアップイベントを使用して、メニューを起動するコンボボックスの選択されたインデックスを取得することです。ダイアログフォームを閉じると、選択したインデックスがリセットされます。

0

私はそれを理解しました。

ContextMenu.SourceControl()プロパティを参照渡しして、ContextMenuを呼び出すコントロールを操作できるメソッドを作成しました。メソッドの冒頭で、ComboBoxのSelectedValueを取得し、コンボボックスのデータを再読み込みしました。次に、SelectedValueをメソッドの先頭にある値に設定します。

ありがとうDaveKは正しい方向に私を指しています。

関連する問題