// METHOD:: Add checked items and persist them to memory private void PersistItems(int item, object idValue) { if (!SelectedIndexes.Keys.Contains(item)) { SelectedIndexes.Add(item, idValue); } }
// METHOD:: Add checked items and persist them to memory private void PersistItems(int item) { if (!SelectedIndexes.Exists(i => i == item)) { SelectedIndexes.Add(item); } }
public void AddSelection(int tileId) { if (!SelectedIndexes.Contains(tileId)) { SelectedIndexes.Add(tileId); } }
internal void AddSelectedIndex(int index, bool single) { if (single) { SelectedIndexes.Clear(); } focused_index = Math.Max(index, 0); if (index != -1) { SelectedIndexes.Add(index); } owner.Invalidate(); }
protected override void OnMouseUp(MouseEventArgs e) { int Selection = GetSelectedFromLocation(e.Location); if (Selection == -1 || !(e.Button == MouseButtons.Left)) { return; } if (Multiselect && IsControlDown()) { if (!SelectedIndexes.Contains(Selection)) { SelectedIndexes.Add(Selection); } else { SelectedIndexes.Remove(Selection); } } else if (Multiselect && !IsControlDown()) { SelectedIndexes = new List <int>() { Selection } } ; else { SelectedIndexes = new List <int>() { Selection }; SelectedIndex = Selection; } if (Selection == -1) { SelectedIndexes = new List <int>(); } Invalidate(); SelectedIndexChanged?.Invoke(this, Selection); base.OnMouseUp(e); }
public override bool OnMouseDown(DxWindow window, DxControl ctl, MouseEventArgs args, SharpDX.Point pt) { if (!IntersectTest(pt.X, pt.Y) || !IsMouseOver) { if (Active) { TopMost = false; window.DrawOnTopList.Remove(this); } Active = false; return(false); } var oldActive = Active; if (pt.X >= Rect.X && pt.X <= Rect.X + Rect.Width && pt.Y >= Rect.Y && pt.Y <= Rect.Y + 21) { Active = !Active; } if (Active) { if (oldActive == false) { _currentPosition = 0; } if (_currentHighlightItem != -1) { if (MultiSelect) { if (SelectedIndexes.Contains(_currentHighlightItem + _currentPosition)) { SelectedIndexes.Remove(_currentHighlightItem + _currentPosition); } else { SelectedIndexes.Add(_currentHighlightItem + _currentPosition); } } else { SelectedIndexes.Clear(); SelectedIndexes.Add(_currentHighlightItem + _currentPosition); } } if (!MultiSelect) { if (oldActive) { Active = false; } } } TopMost = Active; if (Active && !oldActive) { window.DrawOnTopList.Add(this); } else if (!Active && oldActive) { window.DrawOnTopList.Remove(this); } return(true); }