-------------------------------------------------------------------
//用委托实现的主要代码
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)
{
}
}
用接口和委托两种方式实现用户登录
猜你喜欢
转载自275055162.iteye.com/blog/2214735
今日推荐
周排行