public void MouseUp(int MouseX, int MouseY) { switch (multiSelectMode) { case MultiSelectMode.Disabled: //TODO: hook up input manager here //if (MdxRender.Input.StartSelectionBox) //{ // selectionBoxStartX = MouseX; // selectionBoxStartY = MouseY; // selectionBoxEndX = MouseX; // selectionBoxEndY = MouseY; // multiSelectMode = MultiSelectMode.FindEnd; //} break; case MultiSelectMode.FindEnd: selectionBoxEndX = MouseX; selectionBoxEndY = MouseY; multiSelectMode = MultiSelectMode.Active; break; case MultiSelectMode.Active: activeClickCount++; if (activeClickCount > 1) { activeClickCount = 0; multiSelectMode = MultiSelectMode.Disabled; } break; } }
public void MouseUp(int MouseX, int MouseY) { switch (multiSelectMode) { case MultiSelectMode.Disabled: if (MdxRender.Input.StartSelectionBox) { selectionBoxStartX = MouseX; selectionBoxStartY = MouseY; selectionBoxEndX = MouseX; selectionBoxEndY = MouseY; multiSelectMode = MultiSelectMode.FindEnd; } break; case MultiSelectMode.FindEnd: selectionBoxEndX = MouseX; selectionBoxEndY = MouseY; multiSelectMode = MultiSelectMode.Active; break; case MultiSelectMode.Active: activeClickCount++; if (activeClickCount > 1) { activeClickCount = 0; multiSelectMode = MultiSelectMode.Disabled; } break; } }
/// <summary> /// Selection UI mode /// </summary> public virtual MultiCombo.Builder SelectionMode(MultiSelectMode selectionMode) { this.ToComponent().SelectionMode = selectionMode; return(this as MultiCombo.Builder); }
protected override void OnKeyUp(KeyEventArgs e) { base.OnKeyUp(e); if (!e.Shift) { multiSelectMode = MultiSelectMode.Single; } }
protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); if (multiSelect) { if (e.KeyCode == Keys.ControlKey) { multiSelectMode = MultiSelectMode.Selective; } else if (e.KeyCode == Keys.ShiftKey) { multiSelectMode = MultiSelectMode.Range; } } if (!multiSelect && e.KeyCode == Keys.Return) { OnItemActivate(new EventArgs()); } if (e.KeyCode == Keys.Home) { if (vscrollBar.Visible) vscrollBar.Value = 0; else if (hscrollBar.Visible) hscrollBar.Value = 0; } else if (e.KeyCode == Keys.End) { if (vscrollBar.Visible) vscrollBar.Value = vscrollBar.Maximum-vscrollBar.LargeChange; else if (hscrollBar.Visible) hscrollBar.Value = hscrollBar.Maximum-hscrollBar.LargeChange; } else if (e.KeyCode == Keys.PageUp) { if (vscrollBar.Visible) vscrollBar.Value = (vscrollBar.LargeChange > vscrollBar.Value ? 0 : vscrollBar.Value-vscrollBar.LargeChange); else if (hscrollBar.Visible) hscrollBar.Value = (hscrollBar.LargeChange > hscrollBar.Value ? 0 : hscrollBar.Value-hscrollBar.LargeChange); } else if (e.KeyCode == Keys.PageDown) { if (vscrollBar.Visible) vscrollBar.Value = (vscrollBar.Value+vscrollBar.LargeChange > vscrollBar.Maximum-vscrollBar.LargeChange ? vscrollBar.Maximum-vscrollBar.LargeChange : vscrollBar.Value+vscrollBar.LargeChange); else if (hscrollBar.Visible) hscrollBar.Value = (hscrollBar.Value+hscrollBar.LargeChange > hscrollBar.Maximum-hscrollBar.LargeChange ? hscrollBar.Maximum-hscrollBar.LargeChange : hscrollBar.Value+hscrollBar.LargeChange); } Invalidate(ClientRectangle); }
protected virtual void OnCheckShiftState(KeyEventArgs e) { if (multiSelect) { if (e.KeyCode == Keys.ControlKey) { multiSelectMode = MultiSelectMode.Selective; } else if (e.KeyCode == Keys.ShiftKey) { multiSelectMode = MultiSelectMode.Range; } } if (!multiSelect && e.KeyCode == Keys.Return) { OnItemActivate(new EventArgs()); } }