创建ASP.NET WEB自定义控件——例程2

本文介绍如何创建一个ASP.NET自定义登录控件,包括控件的基本结构、属性设置及事件处理等内容。

创建ASP.NET WEB自定义控件——例程2

本文通过一段完整的代码向读者介绍复合自定义控件的制作,包括:自定义属性、事件处理、控件间数据传递等方面的技术。

作者在http://damao.0538.org有一些控件和代码,并在更新中,有兴趣的读者可以去下载。

以下是一个登陆框的代码,包括:用户名输入TextBox、密码输入TextBox、提交Button、重置Button以及承载以上四项的Panel。控件类名为LoginCtrl

(例程使用C#

using System;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.ComponentModel;

using System.Drawing;

 

namespace TestLib

{

     [DefaultProperty("BackColor"),

         ToolboxData("<{0}:LoginCtrl runat=server></{0}:LoginCtrl>")]

     public class LoginCtrl : System.Web.UI.WebControls.WebControl

     {

         private Color _fontColor = Color.Black;//声明字体颜色变量

         private Color _backColor = Color.White;//声明控件背景变量

首先声明要在复合控件中使用的子控件。

         private Label lblUserName = new Label();//显示“用户名”的Label控件

         private Label lblPassWord = new Label();//显示“密码”的Label控件

         private TextBox txtUserName = new TextBox();//用户名输入的TextBox控件

         private TextBox txtPassWord = new TextBox();//密码输入的TextBox控件

         private Button submitButton = new Button();//提交Button控件

         private Button clearButton = new Button();//重置Button控件

         private System.Web.UI.WebControls.Panel pnlFrame = new System.Web.UI.WebControls.Panel();//承载其它控件的容器Panel控件

当然要在符合控件中使用的事件一定要声明的,它们会出现在属性框的事件栏里。

         public event EventHandler SubmitOnClick;//声明自定义控件LoginCtrl的提交事件

         public event EventHandler ClearOnClick;//声明自定义控件LoginCtrl的重置事件

 

         public LoginCtrl()

         {

刚刚声明的子控件和事件要在这里进行初始化处理。

//初始化控件的属性

              this.lblUserName.Text = "用户名:";

              this.lblPassWord.Text = "密  码:";

              this.txtPassWord.TextMode = System.Web.UI.WebControls.TextBoxMode.Password;

 

              this.pnlFrame.Width = 240;

              this.pnlFrame.Height = 120;

              this.pnlFrame.BackColor = Color.Empty;

//添加提交按钮点击事件

              submitButton.Text = "确定";

              submitButton.Click += new EventHandler(this.SubmitBtn_Click);

//添加重置按钮点击事件

              clearButton.Text = "重置";

              clearButton.Click += new EventHandler(this.ClearBtn_Click);

//将声明的各子控件添加到LoginCtrl中

              this.Controls.Add(this.submitButton);

              this.Controls.Add(this.clearButton);

              this.Controls.Add(this.txtUserName);

              this.Controls.Add(this.txtPassWord);

              this.Controls.Add(this.lblUserName);

              this.Controls.Add(this.lblPassWord);

              this.Controls.Add(this.pnlFrame);

         }

根据自己的需要添加或重载符合控件的公共属性

//字体颜色属性

         [Bindable(false),

              Category("Appearance"),

              DefaultValue("")]

         public override Color ForeColor

         {

              get

              {

                   return this._fontColor;

              }

              set

              {

                   this._fontColor = value;

              }

         }

//控件背景属性

         [Bindable(false),

         Category("Appearance"),

         DefaultValue("")]

         public override Color BackColor

         {

              get

              {

                   return this._backColor;

              }

 

              set

              {

                   this._backColor = value;

              }

         }

//用户名属性

         [Bindable(false),

         Category("Appearance"),

         DefaultValue("")]

         public string UserName

         {

              get

              {

                   return this.txtUserName.Text;

              }

              set

              {

                   this.txtUserName.Text = value;

              }

         }

//密码属性

         [Bindable(false),

         Category("Appearance"),

         DefaultValue(""), Browsable(false)]

         public string PassWord

         {

              get

              {

                   return this.txtPassWord.Text;

              }

              set

              {

                   this.txtPassWord.Text = value;

              }

         }

//控件宽度属性

         [Bindable(false),

         Category("Appearance"),

         DefaultValue("")]

内容概要:本文是一篇关于使用RandLANet模型对SensatUrban数据集进行点云语义分割的实战教程,系统介绍了从环境搭建、数据准备、模型训练与测试到精度评估的完整流程。文章详细说明了在Ubuntu系统下配置TensorFlow 2.2、CUDA及cuDNN等深度学习环境的方法,并指导用户下载和预处理SensatUrban数据集。随后,逐步讲解RandLANet代码的获取与运行方式,包括训练、测试命令的执行与参数含义,以及如何监控训练过程中的关键指标。最后,教程涵盖测试结果分析、向官方平台提交结果、解读评估报告及可视化效果等内容,并针对常见问题提供解决方案。; 适合人群:具备一定深度学习基础,熟悉Python编程和深度学习框架,从事计算机视觉或三维点云相关研究的学生、研究人员及工程师;适合希望动手实践点云语义分割项目的初学者与进阶者。; 使用场景及目标:①掌握RandLANet网络结构及其在点云语义分割任务中的应用;②学会完整部署一个点云分割项目,包括数据处理、模型训练、测试与性能评估;③为参与相关竞赛或科研项目提供技术支撑。; 阅读建议:建议读者结合提供的代码链接和密码访问完整资料,在本地或云端环境中边操作边学习,重点关注数据格式要求与训练参数设置,遇到问题时参考“常见问题与解决技巧”部分及时排查。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值