/// <summary> /// 重写OnInsertComplete,插入集合完成后将控件加入父控件 /// </summary> /// <param name="index">从零开始的索引,在该处插入 value</param> /// <param name="value">在 index 处的元素的新值</param> protected override void OnInsertComplete(int index, object value) { base.OnInsertComplete(index, value); if (InsertComplete != null) { ItemChangedEventArgs e = new ItemChangedEventArgs(index, (ListImageItem)value); InsertComplete(this, e); } }
/// <summary> /// 重写OnInsertComplete,移除集合完成后将控件从父控件中移除 /// </summary> /// <param name="index">从零开始的索引,可在该位置找到 value</param> /// <param name="value">要从 index 移除的元素的值</param> protected override void OnRemoveComplete(int index, object value) { if (RemoveComplete != null) { ItemChangedEventArgs e = new ItemChangedEventArgs(index, (ListImageItem)value); RemoveComplete(this, e); } base.OnRemoveComplete(index, value); }
/// <summary> /// 向集合中插入指定项 /// </summary> /// <param name="index"></param> /// <param name="item"></param> public void Insert(int index, ListImageItem item) { InnerList.Insert(index, item); if (InsertComplete != null) { ItemChangedEventArgs e = new ItemChangedEventArgs(index, item); InsertComplete(this, e); } }
/// <summary> /// 从集合中移除指定项 /// </summary> /// <param name="item">指定ListImageItem</param> public void Remove(ListImageItem item) { if (RemoveComplete != null) { ItemChangedEventArgs e = new ItemChangedEventArgs(IndexOf(item), item); RemoveComplete(this, e); } InnerList.Remove(item); }
/// <summary> /// 添加一TrasenClasses.GeneralControls.ListImageItem到集合中 /// </summary> /// <param name="item"></param> /// <returns></returns> public int Add(ListImageItem item) { if (Contains(item)) { return(-1); } int index = InnerList.Add(item); if (InsertComplete != null) { ItemChangedEventArgs e = new ItemChangedEventArgs(index, item); InsertComplete(this, e); } return(index); }
private void Items_InsertComplete(object sender, ItemChangedEventArgs e) { if (this.LargeImageList != null) { e.Item.LargeImageList = this.LargeImageList; } if (this.SmallImageList != null) { e.Item.SmallImageList = this.SmallImageList; } e.Item.View = _view; e.Item.Width = this.Width - _hInterval * 2; e.Item.Left = _hInterval; e.Item.ForeColor = this.ForeColor; if (e.Index == 0) { if (_captionVisible) { e.Item.Top = _vInterval + _captionFont.Height + 2; } else { e.Item.Top = _vInterval; } } else { e.Item.Top = _vInterval + _items[e.Index - 1].Top + _items[e.Index - 1].Height; } if (e.Index != _items.Count - 1) //如果是不是插入到最后 { for (int i = e.Index + 1; i < _items.Count - 1; i++) { _items[i].Top = _vInterval + _items[i - 1].Top + _items[i - 1].Height; } } e.Item.Click += new EventHandler(Item_Click); if (ItemDoubleClick != null) { e.Item.DoubleClick += ItemDoubleClick; } this.Controls.Add(e.Item); }
private void Items_RemoveComplete(object sender, ItemChangedEventArgs e) { this.Controls.Remove(e.Item); }