C#基础练习(事件登陆案例)
Form1的后台代码:
namespace _08事件登陆案例
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
FrmLogin.Evt+=new EventHandler(FrmLogin_Evt);
//给自定义控件创建了一个事件
}
private void FrmLogin_Evt(object sender, EventArgs e)
{
MyEventArgs mea= e as MyEventArgs;
//判断
if (mea.Name=="admin"&&mea.Pwd=="123")
{
mea.IsOk = true;
}
}
}
}
自定义控件 MyLogin的后台代码:
namespace _08事件登陆案例
{
public partial class MyLogin : UserControl
{
public MyLogin()
{
InitializeComponent();
}
public event EventHandler Evt;//事件
private void btnLogin_Click(object sender, EventArgs e)
{
//判断用户名和密码是否正确,如果正确则该控件 背景颜色变成红色
//要做什么事不知道,但是肯定有事情发生
//e占位
if (this.Evt!=null)
{
//实例化MyEventArgs类的对象,通过该对象的两个属性存储两个文本框中的值
MyEventArgs mea = new MyEventArgs();
mea.Name = txtName.Text;//账号
mea.Pwd = txtPwd.Text;//密码
this.Evt(this, mea); //调用事件
if (mea.IsOk)
{
this.BackColor = Color.Red;
}
else
{
this.BackColor = Color.Green;
}
}
}
}
//重新创建了一个符合需求的类,用来传值
public class MyEventArgs : EventArgs
{
public MyEventArgs()
{
this.IsOk = false;
}
public string Name { get; set; }
public string Pwd { get; set; }
public bool IsOk { get; set; }
}
}
最新文章
- JavaScript实现快速排序
- 简单工厂VS工厂方法
- nodejs的第二天学习笔记
- inherit与auto
- 第三十八篇、给UITabBar按钮的动画效果
- ASIHTTPRequest 中url参数中文乱码
- 什么是 gnuplot
- 整理部分JS 控件 WEB前端常用的做成Jsp项目,方便今后直接用
- CodeForces 622B The Time
- TP5.0 PHPExcel 数据表格导出(原)
- android shape 大全 (转)
- Caffe-5.2-(GPU完整流程)训练(依据googlenet微调)
- Linux(CentOS6.5)下编译安装Nginx官方最新稳定版(nginx-1.10.0)
- CHECKDB内部:什么是BlobEater?
- Vue-route实现原理
- Nginx的gzip
- react-踩坑记录——Link带参数跳转后this.props为空对象
- A - 低阶入门膜法 - K-th Number (主席树查询区间第k小)
- 30-Python3 正则表达式
- [Android] TableLayout