📄 comboitemcollection.cs
字号:
using System;
using System.ComponentModel;
using System.Collections;
using System.Web.UI;
using System.Web.UI.Design.WebControls;
using System.Drawing.Design;
namespace Bestcomy.Web.UI.WebControls
{
/// <summary>
///
/// </summary>
public class ComboItemCollection : ICollection, IStateManager, IEnumerable, IList
{
private ArrayList _items = new ArrayList();
private bool _IsTrackingViewState = false;
public ComboItemCollection()
{
}
#region ICollection 成员
public bool IsSynchronized
{
get
{
return this._items.IsSynchronized;
}
}
public int Count
{
get
{
return this._items.Count;
}
}
public void CopyTo(Array array, int index)
{
this._items.CopyTo(array, index);
}
public object SyncRoot
{
get
{
return this._items.SyncRoot;
}
}
#endregion
#region IEnumerable 成员
public IEnumerator GetEnumerator()
{
return this._items.GetEnumerator();
}
#endregion
#region 自定义成员
public ComboItem this[int index]
{
get
{
return (ComboItem)this._items[index];
}
set
{
this._items[index] = (ComboItem)value;
}
}
public void RemoveAt(int index)
{
this._items.RemoveAt(index);
}
public void Insert(int index, ComboItem value)
{
this._items.Insert(index, value);
}
public void Remove(ComboItem value)
{
this._items.Remove(value);
}
public bool Contains(ComboItem value)
{
return this._items.Contains(value);
}
public void Clear()
{
this._items.Clear();
}
public int IndexOf(ComboItem value)
{
return this._items.IndexOf(value);
}
public int Add(ComboItem value)
{
return this._items.Add(value);
}
public void AddRange(ComboItemCollection items)
{
this._items.AddRange(items);
}
#endregion
#region IStateManager 成员
void IStateManager.TrackViewState()
{
this._IsTrackingViewState = true;
for(int i=0; i < this._items.Count; i++)
{
((IStateManager)this[i]).TrackViewState();
}
}
bool IStateManager.IsTrackingViewState
{
get
{
return this._IsTrackingViewState;
}
}
object IStateManager.SaveViewState()
{
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
for (int num3 = 0; num3 < this.Count; num3++)
{
object obj1 = ((IStateManager)this[num3]).SaveViewState();
if (obj1 != null)
{
list1.Add(num3);
list2.Add(obj1);
}
}
if (list1.Count > 0)
{
return new Pair(list1, list2);
}
return null;
}
void IStateManager.LoadViewState(object state)
{
if (state == null)
{
return;
}
if (state is Pair)
{
Pair pair1 = (Pair) state;
ArrayList list1 = (ArrayList) pair1.First;
ArrayList list2 = (ArrayList) pair1.Second;
for (int num1 = 0; num1 < list1.Count; num1++)
{
int num2 = (int) list1[num1];
if (num2 < this.Count)
{
((IStateManager)this[num2]).LoadViewState(list2[num1]);
}
else
{
ComboItem item1 = new ComboItem();
((IStateManager)item1).LoadViewState(list2[num1]);
this.Add(item1);
}
}
}
}
#endregion
#region IList Members
int IList.Add(object item)
{
ComboItem item1 = (ComboItem) item;
int num1 = this._items.Add(item1);
return num1;
}
bool IList.Contains(object item)
{
return this.Contains((ComboItem) item);
}
bool IList.IsFixedSize
{
get
{
return false;
}
}
object IList.this[int index]
{
get
{
return this._items[index];
}
set
{
this._items[index] = (ComboItem)value;
}
}
bool IList.IsReadOnly
{
get
{
return this._items.IsReadOnly;
}
}
int IList.IndexOf(object item)
{
return this.IndexOf((ComboItem) item);
}
void IList.Insert(int index, object item)
{
this.Insert(index, (ComboItem) item);
}
void IList.Remove(object item)
{
this.Remove((ComboItem) item);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -