zoukankan      html  css  js  c++  java
  • 自定义控件的实现

    [DefaultProperty("Text")]//(打开属性时)默认选择的属性
        [ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]//自定义服务器控件在页面上面显示的标记
        public class ServerControl1 : WebControl
        {
            [Bindable(true)]//是否通常绑定
            [Category("外观")]
            [DefaultValue("")]
            [Description("显示的文本")]//属性的描述
            [Localizable(true)]
            public string Text
            {
                get
                {
                    String s = (String)ViewState["Text"];
                    return ((s == null) ? "[" + this.ID + "]" : s);
                }
    
                set
                {
                    ViewState["Text"] = value;
                }
            }
            private string imageurl;
            [Description("要显示图片的路径")]//属性的描述
            [Category("样式")]
            [EditorAttribute(typeof(ImageUrlEditor), typeof(UITypeEditor))]//让属性里面有选择图片的按钮”...“
            public string Imageurl
            {
                get { return imageurl; }
                set { imageurl = value; }
            }
            [Bindable(true)]//是否通常绑定
            [Category("字体")]
            [DefaultValue("")]
            [Description("设置文本框的字体的大小单位为px")]//属性的描述
            [Localizable(true)]
            public string Fontsize
            {
                get
                {
                    String font = (String)ViewState["Fontsize"];
                    return ((font == null) ? "14px" : font + "px");
                }
                set { ViewState["Fontsize"] = value; }
            }
            protected override void Render(HtmlTextWriter Write)
            {
                string path = "";
                if (imageurl != null)
                {
                    path = this.ResolveClientUrl(Imageurl);//取图片路径对应的在客户端的路径
                }
                WebColorConverter wcolor = new WebColorConverter();//进行颜色转换为RGB格式//在RGB和color间切换的对象
                Write.Write("<input type=\"text\" id=\"" + this.ID + "\" name=\"" + this.ID + "\" style=\"background-color:" + wcolor.ConvertToString(base.BackColor) + " ;background-image:url(" + path + "); font-size:" + Fontsize + "\" value=\"");
                Write.Write(Text);
                Write.Write("\"/>");
            }
        }
    联盟快卖 商人,生意人,待创业人士在此可以共赢互利 期待你的加入 群号:140809277
  • 相关阅读:
    关键C函数备录
    TCP/UDP编程步骤和区别
    Pro C/C++环境搭建
    linux常用命令和选项
    运行在linux上的mysql常用命令
    把指针作为形参,用于取值的用法
    Leetcode476.Number Complement数字的补数
    Leetcode463.Island Perimeter岛屿的周长
    Leetcode461Hamming Distance汉明距离
    Leetcode455.Assign Cookies分发饼干
  • 原文地址:https://www.cnblogs.com/yexinw/p/2008021.html
Copyright © 2011-2022 走看看