wtpdesignerpane.cs

来自「C#编写的在线用户统计、在线编辑器、验证码图片」· CS 代码 · 共 112 行

CS
112
字号
/*
 * WtpDesignerPane.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.Web.UI;
using System.Web.UI.WebControls;

namespace Net.AfritXia.Web.UI
{
	/// <summary>
	/// 设计器窗体控件
	/// </summary>
    [ParseChildren(false)]
	public class WtpDesignerPane : System.Web.UI.HtmlControls.HtmlGenericControl, INamingContainer, IClientRunTime
	{
		#region 类构造器
		/// <summary>
		/// 类默认构造器
		/// </summary>
        public WtpDesignerPane()
            : this("Designer")
        {
        }

        /// <summary>
        /// 类参数构造器
        /// </summary>
        /// <param name="tagName">标记名称</param>
		public WtpDesignerPane(string tagName)
			: base("span")
		{
		}
		#endregion

        /// <summary>
        /// 设置或获取宽度
        /// </summary>
        public Unit Width
        {
            set
            {
                this.Attributes.CssStyle.Add("width", value.ToString());
            }

            get
            {
                return Unit.Parse(this.Attributes["width"]);
            }
        }

        /// <summary>
        /// 设置或获取宽度
        /// </summary>
        public Unit Height
        {
            set
            {
                this.Attributes.CssStyle.Add("height", value.ToString());
            }

            get
            {
                return Unit.Parse(this.Attributes["height"]);
            }
        }

        /// <summary>
        /// 添加子标记,但不允许添加服务器控件
        /// </summary>
        /// <param name="obj"></param>
        protected override void AddParsedSubObject(object obj)
        {
            if ((obj is LiteralControl) == false)
                throw new Exception("不能添加服务器控件 ( Cannot Add Server Control )");

            base.AddParsedSubObject(obj);
        }

		/// <summary>
		/// 在绘制该控件之前,为控件添加属性
		/// </summary>
        /// <param name="e"></param>
		protected override void OnPreRender(EventArgs e)
		{
			base.OnPreRender(e);

			// 设置控件为可编辑
			this.Attributes.Add("contenteditable", "true");
			// 设置边框
			this.Attributes.CssStyle.Add("border", "Inset 2px");
			// 运行滚动条
			this.Attributes.CssStyle.Add("overflow", "scroll");
			// 设置光标样式
			this.Attributes.CssStyle.Add("cursor", "text");
			// 设置控件 ID 属性
			this.Attributes.Add("id", this.UniqueID);
		}

		#region IClientRunTime 成员
		public string CreateJavaScriptObject()
		{
			return string.Format(@"new CWtpDesignerPane(""{0}"");", this.UniqueID);
		}
		#endregion
	}
}

⌨️ 快捷键说明

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