?? findbar.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}:FindBar runat=server></{0}:FindBar>")]
public class FindBar : WebControl, INamingContainer
{
private FindBarItems _Items;
private ImageClickEventHandler _ImageClickEventHandler;
private FindBarModeFilename ModeFilename;
private HtmlTableCell _HtmlTableCell;
public event EventHandler Click;
public FindBar() : base()
{
_Items = new FindBarItems();
_HtmlTableCell = new HtmlTableCell();
_ImageClickEventHandler = new ImageClickEventHandler(this.ServerClicked);
ModeFilename = new FindBarModeFilename();
}
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/FindBar/Expanded.gif"; else return (string)ViewState["Expanded"]; }
set { ViewState["Expanded"] = value; }
}
public string Closed
{
get { if(ViewState["Closed"] == null) return this.Pathname + "Images/FindBar/Closed.gif"; else return (string)ViewState["Closed"]; }
set { ViewState["Closed"] = value; }
}
public string Find
{
get { if(ViewState["Find"] == null) return this.Pathname + "Images/FindBar/Find.gif"; else return (string)ViewState["Find"]; }
set { ViewState["Find"] = 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 FindBarMode Mode
{
get { if(ViewState["Mode"] == null) return FindBarMode.Default; else return (FindBarMode)ViewState["Mode"]; }
set { ViewState["Mode"] = value; }
}
public FindBarItems 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>");
}
public void Refresh()
{
this.EnsureChildControls();
_HtmlTableCell.InnerHtml = "";
SetStruct();
SetControl();
}
protected virtual void OnClick(EventArgs e,string eventArgument)
{
if (Click != null)
{
Click(this,e);
}
}
private void ServerClicked(object sender, ImageClickEventArgs e)
{
for(int i=0; i<_Items.Count; i++)
{
_Items[i].Text = GetValue(_Items[i].ID);
}
OnClick(e,"");
this.EnsureChildControls();
_HtmlTableCell.InnerHtml = "";
SetStruct();
SetControl();
}
private string GetValue(string ID)
{
Control objControl;
for(int i=0; i<base.Page.Controls.Count; i++)
{
objControl = (Control)base.Page.Controls[i];
if(objControl.ID != "")
{
for(int j=0; j<base.Page.Controls[i].Controls.Count; j++)
{
objControl = (Control)base.Page.Controls[i].Controls[j];
if(objControl.ID == this.ID)
{
TextBox objTextBox;
objTextBox = (TextBox)base.Page.FindControl(this.ID + ":" + ID);
return objTextBox.Text;
}
}
}
}
return null;
}
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=\"FindBar\">" + "\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/FindBar/Default.css";
this.ModeFilename.Office2003 = this.Pathname + "Includes/FindBar/Office2003.css";
string strModeFilename = this.ModeFilename.Default;
if(this.Mode == FindBarMode.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"));
_HtmlTableCell.Controls.Add(new LiteralControl(" {" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" if(_" + this.ID + "_Div.style.display == \"none\")" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" {" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Div.style.setAttribute(\"height\",\"0\");" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Div.style.setAttribute(\"display\",\"block\");" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Opacity = 0;" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Height = 0;" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Expand();" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Title.background = \"" + this.Expanded + "\";" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" }" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" else" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" {" + "\n"));
_HtmlTableCell.Controls.Add(new LiteralControl(" _" + this.ID + "_Div.style.setAttribute(\"height\",_" + this.ID + "_Total);" + "\n"));
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -