写一个登陆用的用户控件。

Ascx文件中,放入TextBox控件,分别作为用户与密码的输入,再放入一个ImageButton,其它不多说

CodeBehind页面:

 

namespace GST.UI
{
 using System;
 using System.Data;
 using System.Drawing;
 using System.Web;
 using System.Web.UI.WebControls;
 using System.Web.UI.HtmlControls;

 /// <summary>
 /// 用户登录控件 
 /// </summary>
 public class Login : System.Web.UI.UserControl
 {

 //系统声明
  protected System.Web.UI.WebControls.TextBox txtUser;
  protected System.Web.UI.WebControls.TextBox txtPass;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  protected System.Web.UI.WebControls.ImageButton imgSubmit;
  protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;

  //Declare Delegate

  public delegate void EventHandler(object sender,LoginEventArgs e);
  
  public event EventHandler LoginSystem ;

  public void OnLoginSystem(LoginEventArgs e)
  {
   if(LoginSystem!=null)
   {
    
            LoginSystem(this,e);  
   }
  }
       

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   //Response.Write(this.FindControl("txtUser").UniqueID);
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  ///  设计器支持所需的方法 - 不要使用代码编辑器
  ///  修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.imgSubmit.Click += new System.Web.UI.ImageClickEventHandler(this.imgSubmit_Click);
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion

  private void imgSubmit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
  {

  //引发事件
    this.OnLoginSystem(new LoginEventArgs(txtUser.Text ,txtPass.Text));
  }

 

 
  

  
 }


 /// <summary>
 /// 定义一个提供Login事件数据的类
 /// </summary>
 public class LoginEventArgs:System.EventArgs
 {
  private string _User;
  private string _Pass;

  public LoginEventArgs(string User,string Pass)
  {
            _User = User;
   _Pass = Pass;
  }
  

 //帐号属性
  public string User
  {
   get{return _User;}
   set{_User= value;}
  }

 //密码属性

  public string Pass
  {
   get{return _Pass;}
   set{_Pass = value;}
  }

 }
}

 

aspx页面调用

<body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
   <uc1:login id="Login1" runat="server"></uc1:login></form>
 </body>

后台代码部分

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.EnterpriseServices ;
using GST.Common ;
using GST.Purview;
using GST.UI;
using SysAdmin ;

namespace GST.Purview
{
 /// <summary>
 /// LoginPurView 的摘要说明。
 /// </summary>
 public class LoginPurView : BasePage
 {

//一定要声明。
  protected UI.Login Login1;

  //Declare
  
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);
   this.Login1.LoginSystem +=new GST.UI.Login.EventHandler(Login1_LoginSystem);

  }
  #endregion

  private void Login1_LoginSystem(object sender, LoginEventArgs e)
  {
             this.Sql ="Select Count(*) From tGSTAdmin Where AdminName='" + e.User +"'";
   try
   {
    if(Convert.ToInt32(DbConn.ExecuteScalar(Sql))==0)
    {
     ResponseMsg2("用户帐号不存在");
    }
    else
    {
                 
                    this.Sql="Select AdminGUID From tGSTAdmin Where AdminName='"+ e.User +"' And AdminPass='"+ e.Pass +"'";
     DataTable Dt = DbConn.ExecuteDataTable(this.Sql);
     if(Dt.Rows.Count > 0)
     {
                        this.Session["Admin"] = e.User ;
      this.Session["AdminGUID"] = Dt.Rows[0][0];
      this.DbConn.ExecuteSql("Update tGSTAdmin Set SrcIP='" + Request.UserHostAddress +"' Where AdminName='" + e.User +"'");
      Response.Redirect("Default.aspx");
     }
     else
     {
      ResponseMsg2("用户或者密码错误");                            
     }
    }
           
   }
   catch(Exception ex)
   {
     
                   ResponseError("出错",ex);
   }
  }
 }
}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先,你需要在Visual Studio中创建一个Windows Forms应用程序,然后添加一个窗体,然后在窗体上添加一些控件,如文本框、按钮等,以便用户输入用户名和密码。 接下来,你需要编写代码,以便实现登录动画的功能,这可以通过使用窗体上的控件,如文本框和按钮来实现,你可以添加动画效果来更好地表现登录过程。 ### 回答2: 使用Winform编写一个登录动画可以通过以下步骤实现: 1. 打开Visual Studio,创建一个新的Winform应用程序项目。 2. 在主窗体上添加一个PictureBox控件,作为登录动画的容器。 3. 在项目中添加一个GIF动画文件,将其设置为PictureBox的Image属性,以显示动画效果。 4. 在窗体的Load事件中,启动一个计时器控件,并设置其Tick事件处理程序。 5. 在计时器的Tick事件处理程序中,逐渐改变PictureBox控件的透明度属性,实现逐渐淡入或淡出的效果。可以使用定时器的Interval属性控制透明度的变化速度。 6. 在登录按钮的Click事件处理程序中,停止计时器,并进行登录验证操作。 7. 如果验证成功,则进行登录成功的操作;否则,根据需要进行错误信息提示。 8. 可以通过增加动画效果,如登录框的缩放、平移等,来提升动画的美观度和交互性。 以上是一个简单的用Winform编写登录动画的步骤,可以根据实际需求进行修改和扩展。 ### 回答3: Winform 是一种用于开发 Windows 窗体应用程序的框架,可以使用该框架来创建各种窗体和控件。下面是一个用 Winform 登陆动画的实现过程: 首先,我们需要创建一个新的 Windows 窗体应用程序项目。在窗体上添加一个 Label 控件,作为登陆界面的标题。然后在窗体上添加一个 PictureBox 控件,作为登陆动画的展示区域。接下来,我们可以通过 PictureBox 的 Image 属性来设置登陆动画的帧序列。 在加载窗体时,我们可以使用 Timer 控件来触发动画的刷新。在 Timer 的 Tick 事件中,通过修改 PictureBox 控件的 Image 属性来切换动画的帧。这可以使用一个 List 或者数组来存储所有帧的图像,并使用一个变量来记录当前显示的帧索引。每次 Timer 触发时,将索引递增,并将对应索引的图像设置为 PictureBox 的 Image 属性值。在达到最后一帧时,可以将索引重置为第一帧,实现循环播放的效果。 为了增加动画效果,我们还可以在登陆界面上添加一些控件,如 ProgressBar、Label 等,来模拟登陆过程中的一些交互和进度展示。 最后,在完成动画的实现后,可以添加一些其他逻辑,如验证用户输入的用户名和密码是否正确,并在登陆成功或失败时作出相应的提示。 以上就是用 Winform 一个简单的登陆动画的实现过程。当然,根据实际需求和个人创意,我们还可以通过改进和扩展来实现更加复杂和炫酷的登陆动画效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值