wtpstandardtoolbar.cs
来自「C#编写的在线用户统计、在线编辑器、验证码图片」· CS 代码 · 共 293 行
CS
293 行
/*
* WtpStandardToolbar.cs @Microsoft Visual Studio 2008 <.NET Framework 2.0 (or Higher)>
* AfritXia
* 2008/3/17
*
* Copyright(c) http://www.AfritXia.NET/
*
*/
using System;
using System.Collections.Generic;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Net.AfritXia.Web.UI
{
/// <summary>
/// 控件工具条2
/// </summary>
[ParseChildren(false)]
public class WtpStandardToolbar : WtpToolbarBase
{
#region 类构造器
/// <summary>
/// 类默认构造器
/// </summary>
public WtpStandardToolbar()
: base()
{
}
/// <summary>
/// 类参数构造器
/// </summary>
/// <param name="cmdLayout">命令布局</param>
public WtpStandardToolbar(string cmdLayout)
: this()
{
this.CommandLayout = cmdLayout;
}
#endregion
/// <summary>
/// 设置或获取命令布局
/// </summary>
public string CommandLayout
{
set
{
this.Attributes.Add("CommandLayout", value);
}
get
{
return this.Attributes["CommandLayout"];
}
}
/// <summary>
/// 转换为控件集合
/// </summary>
/// <param name="cmdLayout">命令布局字符串</param>
/// <returns></returns>
private IList<Control> ParseControlList(string cmdLayout)
{
if (String.IsNullOrEmpty(cmdLayout) == true)
return null;
// 获取命令字符串列表
string[] cmdstrList = cmdLayout.Split(',');
// 控件集合
IList<Control> ctrlList = new List<Control>();
foreach (string cmdstr in cmdstrList)
{
switch (cmdstr.Trim().ToLower())
{
case "setfontname":
// 字体名称下拉框
WtpDropDownList setFontNameDDL = null;
// 命令对象
WtpSetFontNameCmd setFontNameCmd = null;
setFontNameDDL = new WtpDropDownList();
setFontNameDDL.Command = (setFontNameCmd = new WtpSetFontNameCmd(setFontNameDDL));
// 加入首选项
setFontNameDDL.Items.Add(new ListItem("Font -"));
// 加入字体名称
foreach (string fontName in g_fontNameList)
setFontNameDDL.Items.Add(new ListItem(fontName, fontName));
ctrlList.Add(setFontNameDDL);
ctrlList.Add(new WtpCmdButton("Apply_Small", setFontNameCmd));
break;
case "setfontsize":
// 字体大小下拉框
WtpDropDownList setFontSizeDDL = null;
// 命令对象
WtpSetFontSizeCmd setFontSizeCmd = null;
setFontSizeDDL = new WtpDropDownList();
setFontSizeDDL.Command = (setFontSizeCmd = new WtpSetFontSizeCmd(setFontSizeDDL));
// 加入首选项
setFontSizeDDL.Items.Add(new ListItem("Size -"));
// 加入字体大小选项
for (int i = 1; i <= 7; i++)
setFontSizeDDL.Items.Add(new ListItem(i.ToString(), i.ToString()));
ctrlList.Add(setFontSizeDDL);
ctrlList.Add(new WtpCmdButton("Apply_Small", setFontSizeCmd));
break;
case "setforecolor":
// 前景色下拉列表框
WtpColorDropDownList setForeColorDDL = null;
// 命令对象
WtpSetForeColorCmd setForeColorCmd = null;
setForeColorDDL = new WtpColorDropDownList("ForeColor -");
setForeColorDDL.Command = (setForeColorCmd = new WtpSetForeColorCmd(setForeColorDDL));
ctrlList.Add(new WtpCmdButton("ForeColor", setForeColorCmd));
ctrlList.Add(setForeColorDDL);
break;
case "setbackcolor":
// 背景色下拉列表框
WtpColorDropDownList setBackColorDDL = null;
// 命令对象
WtpSetBackColorCmd setBackColorCmd = null;
setBackColorDDL = new WtpColorDropDownList("BackColor -");
setBackColorDDL.Command = (setBackColorCmd = new WtpSetBackColorCmd(setBackColorDDL));
ctrlList.Add(new WtpCmdButton("BackColor", setBackColorCmd));
ctrlList.Add(setBackColorDDL);
break;
case "bold":
ctrlList.Add(new WtpCmdButton("Bold", new WtpBoldCmd()));
break;
case "italic":
ctrlList.Add(new WtpCmdButton("Italic", new WtpItalicCmd()));
break;
case "underline":
ctrlList.Add(new WtpCmdButton("UnderLine", new WtpUnderLineCmd()));
break;
case "strikethrough":
ctrlList.Add(new WtpCmdButton("StrikeThrough", new WtpStrikeThroughCmd()));
break;
case "superscript":
ctrlList.Add(new WtpCmdButton("SuperScript", new WtpSuperScriptCmd()));
break;
case "subscript":
ctrlList.Add(new WtpCmdButton("SubScript", new WtpSubScriptCmd()));
break;
case "indent":
ctrlList.Add(new WtpCmdButton("Indent", new WtpIndentCmd()));
break;
case "outdent":
ctrlList.Add(new WtpCmdButton("Outdent", new WtpOutdentCmd()));
break;
case "bulletedlist":
ctrlList.Add(new WtpCmdButton("BulletedList", new WtpBulletedListCmd()));
break;
case "numberedlist":
ctrlList.Add(new WtpCmdButton("NumberedList", new WtpNumberedListCmd()));
break;
case "justifyleft":
ctrlList.Add(new WtpCmdButton("JustifyLeft", new WtpJustifyLeftCmd()));
break;
case "justifycenter":
ctrlList.Add(new WtpCmdButton("JustifyCenter", new WtpJustifyCenterCmd()));
break;
case "justifyright":
ctrlList.Add(new WtpCmdButton("JustifyRight", new WtpJustifyRightCmd()));
break;
case "cut":
ctrlList.Add(new WtpCmdButton("Cut", new WtpCutCmd()));
break;
case "copy":
ctrlList.Add(new WtpCmdButton("Copy", new WtpCopyCmd()));
break;
case "paste":
ctrlList.Add(new WtpCmdButton("Paste", new WtpPasteCmd()));
break;
case "undo":
ctrlList.Add(new WtpCmdButton("Undo", new WtpUndoCmd()));
break;
case "redo":
ctrlList.Add(new WtpCmdButton("Redo", new WtpRedoCmd()));
break;
case "insertanchor":
ctrlList.Add(new WtpCmdButton("Anchor", new WtpInsertAnchorCmd()));
break;
case "cancelanchor":
ctrlList.Add(new WtpCmdButton("CancelAnchor", new WtpCancelAnchorCmd()));
break;
case "insertimage":
ctrlList.Add(new WtpCmdButton("Image", new WtpInsertImageCmd()));
break;
case "insertdatetime":
ctrlList.Add(new WtpCmdButton("DateTime", new WtpInsertDateTimeCmd()));
break;
case "inserthrule":
ctrlList.Add(new WtpCmdButton("HRule", new WtpInsertHRuleCmd()));
break;
case "removeformat":
ctrlList.Add(new WtpCmdButton("Eraser", new WtpRemoveFormatCmd()));
break;
case "|":
ctrlList.Add(base.CreateSeparator());
break;
default:
break;
}
}
return ctrlList;
}
/// <summary>
/// 创建控件的子控件
/// </summary>
protected override void CreateChildControls()
{
base.CreateChildControls();
// 获取命令布局
string cmdLayout = this.CommandLayout;
if (String.Compare(cmdLayout, "_default", true) == 0)
cmdLayout = @"SetFontName, SetFontSize, |, Bold, Italic, UnderLine";
// 获取子控件
IList<Control> childControlList = this.ParseControlList(cmdLayout);
if (childControlList != null)
{
foreach (Control c in childControlList)
this.AddControl(c);
}
}
#region 字体名称
private static readonly string[] g_fontNameList = new string[] {
"Arial",
"Bookman Old Style",
"Courier", "Courier New",
"Fixedsys",
"Verdana",
"仿宋_GB2312",
"宋体",
"幼圆",
"新宋体",
"方正姚体", "方正舒体",
"楷体_GB2312",
"隶书",
"黑体"
};
#endregion
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?