2012-09-06 21 views
4

我有一個組合框與屬性DropDownList運行SelectionChangeCommitted事件的一些代碼。它可以在鼠標點擊時正常工作,但如果我嘗試使用箭頭鍵選擇,則會在第一次按下按鍵後觸發。我怎樣才能使它成爲標準下拉菜單,我可以用鼠標和鍵進行導航?Combobox SelectionChangeCommitted事件不適用於箭頭鍵

private void dd_jobs_SelectionChangeCommitted(object sender, EventArgs e) 
{ 
    Pk_Error p = new Pk_Error(ref_num, j[dd_jobs.SelectedIndex]); 
    p.Show(); p.BringToFront(); 
    this.Close(); 
} 
+0

我知道您在討論通過物品導航時列表被放下嗎? –

+0

是的。或者無需單擊下拉箭頭即可使用鍵盤單獨選擇項目。我是否使用了錯誤的表單元素? – pdizz

+0

爲什麼你不能使用SelectedIndexChanged事件呢? –

回答

0

我有同樣的問題要堅持508遵守。我必須實現從窗口繼承的組合框並覆蓋功能。

爲了捕獲OnEnter調用中的選定文本並在OnLeave期間使用該文本進行更改。覆蓋OnSelectionChangeCommitted以檢查列表是否已被刪除並且未進行選擇。

  if(this.DroppedDown == true) 
     { 
      base.OnSelectionChangeCommitted (e); 
      sCurrentItem = this.Text; 
     }