public override bool MouseUp(MouseInputEventArgs e) { if (ClientArea.Contains(new Point((int)e.Position.X, (int)e.Position.Y))) { if (_buttonLeft.MouseUp(e)) { return(true); } if (_buttonRight.MouseUp(e)) { return(true); } if (_items.Count > 0) { if (Selected >= 0 || Selected <= _items.Count - 1) { KeyValuePair <ImageButton, Object> selected = _items[Selected]; if (selected.Key.MouseUp(e)) { return(true); } for (int i = 1; i <= AdditionalColumns; i++) { if ((Selected - i) >= 0 && (Selected - i) <= _items.Count - 1) { KeyValuePair <ImageButton, Object> selectedLeft = _items[(Selected - i)]; if (selectedLeft.Key.MouseUp(e)) { return(true); } } if ((Selected + i) >= 0 && (Selected + i) <= _items.Count - 1) { KeyValuePair <ImageButton, Object> selectedRight = _items[(Selected + i)]; if (selectedRight.Key.MouseUp(e)) { return(true); } } } } } } return(false); }