たくさんの要素を持つ TextBox と ListBox があります。
TextBox には KeyDown イベント ハンドラがあります。この背後にある考え方は、TextBox にフォーカスがあるときに、ユーザーが上下のキーを押して ListBox 内をスクロールできるようにすることです。
ユーザーが「下キー」を数回押すと、選択した要素が画面上で最後に表示される要素になります。ユーザーが画面に表示されているリスト要素の一番下に到達した場合、選択した要素の次の要素も表示する必要があります。
たくさんの要素を持つ TextBox と ListBox があります。
TextBox には KeyDown イベント ハンドラがあります。この背後にある考え方は、TextBox にフォーカスがあるときに、ユーザーが上下のキーを押して ListBox 内をスクロールできるようにすることです。
ユーザーが「下キー」を数回押すと、選択した要素が画面上で最後に表示される要素になります。ユーザーが画面に表示されているリスト要素の一番下に到達した場合、選択した要素の次の要素も表示する必要があります。
リストボックスのScrollIntoViewメソッドを見てください。これを使用して、選択した要素の次の要素が常に表示されるようにすることができます。
下矢印キーを押す:
if (listbox.SelectedIndex < listbox.Items.Count - 1)
listbox.ScrollIntoView(listbox.Items[listbox.SelectedIndex + 1]);
上矢印キーを押す:
if (listbox.SelectedIndex > 0)
listbox.ScrollIntoView(listbox.Items[listbox.SelectedIndex - 1]);