我有一個TextBox
,用戶可以鍵入搜索項和ListBox
顯示結果。還有一個按鈕會根據點擊選擇的項目顯示一些信息。使用向上/向下鍵滾動列表框,當文本框具有焦點而不移動光標
我想使用向上和向下箭頭鍵滾動瀏覽列表框,所以用戶不必點擊該項目,然後按鈕。在那一點上,我可能只是依靠雙擊事件來完成這項工作,因爲它們已經在項目上了。不過,我試圖讓這個更「鍵盤友好」。
下面的代碼工作,但有一個小小的瑕疵:
private void txtSearchTerm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down && Results.SelectedIndex < (Results.Items.Count - 1))
{
Results.SelectedIndex++;
}
else if (e.KeyCode == Keys.Up && Results.SelectedIndex > 0)
{
Results.SelectedIndex--;
}
}
有了這個代碼,光標依然繼續左右連同所選擇的項目改變。我希望它保持在原來的位置(不要強迫它結束)。我沒有與txtSearchTerm.Select(...)
事件的任何運氣,但我想我可能錯過了一些東西......
有一個TextChanged
事件,但它只是調用我寫的填充列表框中的搜索功能用戶類型,所以爲了簡單起見,我將保留這些代碼。
我錯過了什麼或忽略了一些方法來使這個文本框/列表框組合功能我打算如何?
快速提示:如果您曾經使用UltraEdit,我試圖基本上模仿該配置窗口的行爲。
神奇的解決方案!謝謝!它總是最簡單的東西,你忽略了... –
不客氣:) –