您的位置:首页 > 其它

用接口和委托两种方式实现用户登录

2015-05-27 12:24 267 查看
-------------------------------------------------------------------

//用委托实现的主要代码
namespace 委托来实现用户登录
{

public partial class UCLogin : UserControl
{
public UCLogin()
{
InitializeComponent();
}

public event LoginDelegate LoginValidating;

//点击登录按钮触发的事件
private void button1_Click(object sender, EventArgs e)
{
//1.采集用户的输入
string uid = textBox1.Text.Trim();
string pwd = textBox2.Text.Trim();



//触发验证事件
if (LoginValidating !=null )
{
LoginEventArgs evt = new LoginEventArgs();
evt.LoginId = uid;
evt.LoginPwd = pwd;
evt.IsValueOk = false;

LoginValidating(this, evt);

//根据验证事件的验证结果来设置窗体的颜色
if (evt.IsValueOk == true)
{
this.BackColor = Color.Green;
}
else
{
this.BackColor = Color.Red;
}
}



}
}

//定义一个委托
public delegate void LoginDelegate(object sender,LoginEventArgs e);


//定义一个传递参数的类型 继承于EventArgs
public class LoginEventArgs:EventArgs
{
private string _LoginId;

public string LoginId
{
get { return _LoginId; }
set { _LoginId = value;}
}

private string _LoginPwd;

public string LoginPwd
{
get { return _LoginPwd; }
set { _LoginPwd = value; }
}

private bool _IsValueOk;

public bool IsValueOk
{
get { return _IsValueOk;}
set { _IsValueOk = value; }
}

}
}


---------------------------------------------------------------------

//用接口实现的主要代码
public partial class UCLogin : UserControl
{
public UCLogin()
{
InitializeComponent();
}
//定义一个接口类型的变量 并给
private ICheckUserLogin _valiLogin;

public ICheckUserLogin ValiLogin
{
get { return _valiLogin; }
set { _valiLogin = value; }
}
private void button1_Click(object sender, EventArgs e)
{
//实现验证代码
//1.采集用户输入的信息

string uid = textBox1.Text.Trim();

string pwd = textBox2.Text.Trim();

if (this.ValiLogin !=null )
{
MyEventArg evt =new MyEventArg();
evt.id = uid;
evt.name = pwd;
evt.IsValid = false;
ValiLogin.ValidatingUserLogin(this, evt);//多态了

if (evt.IsValid)
{
this.BackColor = Color.Green;
}
else
{
this.BackColor = Color.Red;
}
}
}

private void UCLogin_Load(object sender, EventArgs e)
{

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐