?? taskbar.cs
字號:
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 + -