+2006-01-09 Jonathan Chambers <jonathan.chambers@ansys.com>
+
+ * ComboBox.cs: Added KeyDown event handler for processing arrow keys
+ and PgUp/PgDown. Also, scroll to selected item upon dropdown.
+
2006-01-08 Alexander Olk <alex.olk@googlemail.com>
* MimeIcon.cs: Added internal class SVGUtil.
MouseDown += new MouseEventHandler (OnMouseDownCB);
MouseUp += new MouseEventHandler (OnMouseUpCB);
MouseMove += new MouseEventHandler (OnMouseMoveCB);
+ KeyDown +=new KeyEventHandler(OnKeyDownCB);
}
#region events
return -1;
}
+
+ private void OnKeyDownCB(object sender, KeyEventArgs e)
+ {
+ switch (e.KeyCode)
+ {
+ case Keys.Up:
+ SelectedIndex = Math.Max(SelectedIndex-1, 0);
+ break;
+
+ case Keys.Down:
+ SelectedIndex = Math.Min(SelectedIndex+1, Items.Count-1);
+ break;
+
+ case Keys.PageUp:
+ if (listbox_ctrl != null)
+ SelectedIndex = Math.Max(SelectedIndex- (listbox_ctrl.page_size-1), 0);
+ break;
+
+ case Keys.PageDown:
+ if (listbox_ctrl != null)
+ SelectedIndex = Math.Min(SelectedIndex+(listbox_ctrl.page_size-1), Items.Count-1);
+ break;
+
+ default:
+ break;
+ }
+ }
internal virtual void OnMouseDownCB (object sender, MouseEventArgs e)
{
if (owner.DropDownStyle != ComboBoxStyle.Simple && owner.Items.Count == 0)
return false;
- SetTopItem (0);
SetHighLightedItem (owner.SelectedItem);
+ SetTopItem (GetHighLightedIndex ());
CalcListBoxArea ();
Show ();