自定义控件的实现
[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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗