public void AddItem(ListBoxExRow item) { item.Width = this.Width; _rowsHeight += item.Height; _items.Add(item); this.Refresh(); }
public void RemoveItem(ListBoxExRow item) { _items.Remove(item); _rowsHeight = 0; for (int i = 0; i < _items.Count; i++) { _rowsHeight += ((ListBoxExRow)_items[i]).Height; } this.Refresh(); }
// リスト横幅の変更。縦サイズを再計算する。 public void SetWidth(int width) { if (_setWidth == width) { return; } this.Width = width; _rowsHeight = 0; for (int i = 0; i < _items.Count; i++) { ListBoxExRow obj = (ListBoxExRow)_items[i]; obj.Width = this.Width; _itemHeights[i] = obj.Height; _rowsHeight += obj.Height; } _setWidth = width; }
public void InsertItem(ListBoxExRow item, int idx) { item.Width = this.Width; _rowsHeight += item.Height; _items.Insert(idx, item); int tmpheight = 0; for (int i = 0; i < _items.Count; i++) { if (tmpheight + ((ListBoxExRow)_items[i]).Height > _scrollTop + Height) { if (i > idx) { _scrollTop += item.Height; } break; } tmpheight += ((ListBoxExRow)_items[i]).Height; } this.Refresh(); }