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

📄 taskbar.cs

📁 《Visual Basic案例开发》一书的源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.ComponentModel;

namespace _36Hang.Web.UI.WebControls
{
	[DefaultProperty("Title"), ToolboxData("<{0}:TaskBar runat=server></{0}:TaskBar>")]
	public class TaskBar : WebControl, IPostBackEventHandler
	{
		private TaskBarItems _Items;
		public TaskBarModeFilename ModeFilename;

		HtmlTableCell _HtmlTableCell;

		public event EventHandler Click;

		public TaskBar()
		{
			_Items = new TaskBarItems();
			_HtmlTableCell = new HtmlTableCell();

			ModeFilename = new TaskBarModeFilename();
		}

		public string Pathname
		{
			get { if(ViewState["Pathname"] == null) return ""; else return (string)ViewState["Pathname"]; }
			set { ViewState["Pathname"] = value; }
		}

		public int Velocity
		{
			get { if(ViewState["Velocity"] == null) return 2; else return (int)ViewState["Velocity"]; }
			set { ViewState["Velocity"] = value; }
		}

		public string Expanded
		{
			get { if(ViewState["Expanded"] == null) return this.Pathname + "Images/TaskBar/Expanded.gif"; else return (string)ViewState["Expanded"]; }
			set { ViewState["Expanded"] = value; }
		}

		public string Closed
		{
			get { if(ViewState["Closed"] == null) return this.Pathname + "Images/TaskBar/Closed.gif"; else return (string)ViewState["Closed"]; }
			set { ViewState["Closed"] = value; }
		}

		public string Title
		{
			get { if(ViewState["Title"] == null) return "任务栏"; else return (string)ViewState["Title"]; }
			set { ViewState["Title"] = value; }
		}

		public int Version
		{
			get { if(ViewState["Version"] == null) return 6; else return (int)ViewState["Version"]; }
			set { ViewState["Version"] = value; }
		}

		public int Index
		{
			get { if(ViewState["Index"] == null) return 0; else return (int)ViewState["Index"]; }
			set { ViewState["Index"] = value; }
		}

		public void Refresh()
		{
			this.EnsureChildControls();

			_HtmlTableCell.InnerHtml = "";
			SetStruct();
			SetControl();
		}

		public TaskBarMode Mode
		{
			get { if(ViewState["Mode"] == null) return TaskBarMode.Default; else return (TaskBarMode)ViewState["Mode"]; }
			set { ViewState["Mode"] = value; }
		}

		public TaskBarItems Items
		{
			get { return this._Items; }
			set { this._Items = value; }
		}

		public void Expand()
		{
			base.Page.RegisterStartupScript("_" + this.ID + "_Expand","<script language = \"javascript\"> _" + this.ID + "_Initialize(); _" + this.ID + "_Div.style.setAttribute(\"display\",\"none\"); _" + this.ID + "_Click(); </script>");
		}

		public void Initialize()
		{
			base.Page.RegisterStartupScript("_" + this.ID + "_Initialize","<script language = \"javascript\"> _" + this.ID + "_Initialize(); </script>");
		}

		protected virtual void OnClick(EventArgs e,string eventArgument)
		{
			if (Click != null)
			{
				Click(this,e);
			}
		}

		public void RaisePostBackEvent(string eventArgument)
		{
			for(int i=0; i<_Items.Count; i++)
			{
				if(_Items[i].ID == eventArgument) this.Index = i;
			}

			OnClick(new EventArgs(),eventArgument);

			this.EnsureChildControls();

			_HtmlTableCell.InnerHtml = "";
			SetStruct();
			SetControl();
		}

		protected override void OnLoad(EventArgs e)
		{
			base.OnLoad (e);

			this.Version = base.Page.Request.Browser.MajorVersion;

			if(base.Page.IsPostBack != false)
			{
				SetStruct();
				SetControl();
			}
		}

		protected override void Render(HtmlTextWriter objHtmlTextWriter)
		{
			this.EnsureChildControls();
			base.Render(objHtmlTextWriter);
		}

		protected override void CreateChildControls()
		{
			Controls.Add(new LiteralControl("<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#d6dff7\">" + "\n"));
			Controls.Add(new LiteralControl("	<tr class=\"TaskBar\">" + "\n"));
			Controls.Add(_HtmlTableCell);
			Controls.Add(new LiteralControl("	</tr>" + "\n"));
			Controls.Add(new LiteralControl("</table>" + "\n"));

			if(base.Page.IsPostBack != true)
			{
				SetStruct();
				SetControl();
			}
		}

		private void SetStruct()
		{
			this.ModeFilename.Default = this.Pathname + "Includes/TaskBar/Default.css";
			this.ModeFilename.Office2003 = this.Pathname + "Includes/TaskBar/Office2003.css";

			string strModeFilename = this.ModeFilename.Default;
			if(this.Mode == TaskBarMode.Office2003) strModeFilename = this.ModeFilename.Office2003;
			_HtmlTableCell.Controls.Add(new LiteralControl("<link href=\"" + strModeFilename + "\" type=\"text/css\" rel=\"stylesheet\">" + "\n"));
		}

		private void SetControl()
		{
			if(this.Version >= 6)
			{
				_HtmlTableCell.Controls.Add(new LiteralControl("<script language=\"javascript\">" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("<!--" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	var _" + this.ID + "_Total = 0;" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	var _" + this.ID + "_Opacity = 0;" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	var _" + this.ID + "_Height = 0;" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	var _" + this.ID + "_Velocity = " + this.Velocity + ";" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	function _" + this.ID + "_Initialize()" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	{" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("		_" + this.ID + "_Div.style.setAttribute(\"display\",\"block\")" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("		_" + this.ID + "_Total = _" + this.ID + "_Div.offsetHeight;" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("		_" + this.ID + "_Div.style.setAttribute(\"display\",\"none\")" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	}" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	" + "\n"));
				_HtmlTableCell.Controls.Add(new LiteralControl("	function _" + this.ID + "_Click()" + "\n"));

⌨️ 快捷键说明

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