⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mytabpagecollection.cs

📁 .net平台下
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions ;
using System.Drawing.Design;

namespace AdvControls
{    
	/// <summary>
    /// Summary description for MyTabPageCollection.
	/// </summary>
    /// 
    [Editor("System.Web.UI.Design.WebControls.ListItemsCollectionEditor, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor)), PermissionSet(SecurityAction.LinkDemand, XML = "<PermissionSet class=\"System.Security.PermissionSet\"\r\n               version=\"1\">\r\n   <IPermission class=\"System.Web.AspNetHostingPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\"\r\n                version=\"1\"\r\n                Level=\"Minimal\"/>\r\n</PermissionSet>\r\n")]
    public class MyTabPageCollection : CollectionBase	
	{
		#region Constructor
		public MyTabPageCollection () 
		{
		}
		#endregion Constructor

		#region Indexer
		public MyTabPage this[object index]
		{
			get
			{
                
				int ind = IndexOf(index);
				if (ind < 0 )
					throw new OutOfRangeException();

				return (MyTabPage) this.List[ind];				
			}
			set
			{
				this.List[IndexOf(index)] = value;
			}
		}
		#endregion Indexer

		#region Public Methods
		public void Add(MyTabPage tapPage) 
		{
			this.List.Add(tapPage);
		}


		public void Insert(int index, MyTabPage tapPage) 
		{
			this.List.Insert(index,tapPage);
		}
		
		public void Remove(MyTabPage tapPage) 
		{
			this.List.Remove(tapPage);
		}

		public bool Contains(MyTabPage tapPage) 
		{
			return this.List.Contains(tapPage);
		}

		//Collection IndexOf method 
		
        /// <summary>
        /// Find index of tapPage control based on ID
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
		public int IndexOf(object obj) 
		{ 
			if (obj is int)
				return (int)obj;

			if (obj is string)
			{
				for (int i = 0; i < List.Count; i++)
				{
					if (((MyTabPage)List[i]).ID.ToUpper() == obj.ToString().ToUpper()) 
						return i;
				}
				return -1;
			}
			else 
			{
				throw new InvalidIndexValueException();
			}			
		} 

		public void CopyTo(MyTabPage[] array, int index) 
		{ 
			List.CopyTo(array, index); 
		} 
				
		public bool Contains(string key)
		{
			return List.Contains(key);
		}

		public  void Remove(string key)
		{
			List.Remove(key);
		}	
		#endregion Public Methods
    }

    #region exceptions classes
    class InvalidIndexValueException: Exception
    {
        public InvalidIndexValueException()
            : base("Invalid Index Value")
        {
        }
    }
    class OutOfRangeException: Exception
    {
        public OutOfRangeException()
            : base("Out Of Range")
        {
        }
    }
    #endregion exceptions classes
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -