using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
... {
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
}
//两个button方法
private void button1_Click(object sender, System.EventArgs e)
...{
if (textBox2.Text != "" && textBox1.Text != "")
...{
eventrun er = new eventrun();
eventmsg em = new eventmsg(er);
EventLoginArgs e1 = new EventLoginArgs(textBox2.Text, textBox1.Text, textBox1.Text);
er.runlogin(e1);
}
else
...{
MessageBox.Show("Your must input all the items!", "Login Info", MessageBoxButtons.OK);
}
}
private void button2_Click(object sender, EventArgs e)
...{
eventrun er = new eventrun();
eventmsg em = new eventmsg(er);
EventLoginArgs e1 = new EventLoginArgs(textBox2.Text, textBox1.Text, textBox1.Text);
er.runlogout(e1);
}
//实现事件begin
...#region
public delegate void UserLoginEventHandler(object sender, EventLoginArgs e);//定义委托封装学生类
public delegate void CancelEventHandler(object sender, EventLoginArgs e);//定义取消委托
//定义方法,并把方法封装到以上定义的两个委托中。
public class eventmsg
...{
public void hander1(object sender, EventLoginArgs e)
...{
MessageBox.Show("登陆事件:" + "ID:" + e.strUserID + "密码:" + e.strUserPWD);
}
public void hander2(object sender, EventLoginArgs e)
...{
MessageBox.Show("取消事件:" + "ID:" + e.strUserID + "密码:" + e.strUserPWD);
}
public eventmsg(eventrun er)
...{
UserLoginEventHandler lh = new UserLoginEventHandler(hander1);
CancelEventHandler ch = new CancelEventHandler(hander2);
//把封装了方法的委托加载到事件中
er.loginevent += lh;
er.logoutevent += ch;
}
}
//定义事件及运行事件的方法
public class eventrun
...{
public event UserLoginEventHandler loginevent;
public event CancelEventHandler logoutevent;
public void runlogin(EventLoginArgs e)
...{
if (loginevent != null)
...{
loginevent(this, e);
}
}
public void runlogout(EventLoginArgs e)
...{
if (logoutevent != null)
...{
logoutevent(this, e);
}
}
}
#endregion
//实现事件end
}
//定义学生类
public class EventLoginArgs : System.EventArgs
...{
public string strUserID;
public string strUserName;
public string strUserPWD;
public EventLoginArgs(string userID, string userName, string userPWD)
...{
strUserID = userID;
strUserName = userName;
strUserPWD = userPWD;
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
... {
public partial class Form1 : Form
...{
public Form1()
...{
InitializeComponent();
}
//两个button方法
private void button1_Click(object sender, System.EventArgs e)
...{
if (textBox2.Text != "" && textBox1.Text != "")
...{
eventrun er = new eventrun();
eventmsg em = new eventmsg(er);
EventLoginArgs e1 = new EventLoginArgs(textBox2.Text, textBox1.Text, textBox1.Text);
er.runlogin(e1);
}
else
...{
MessageBox.Show("Your must input all the items!", "Login Info", MessageBoxButtons.OK);
}
}
private void button2_Click(object sender, EventArgs e)
...{
eventrun er = new eventrun();
eventmsg em = new eventmsg(er);
EventLoginArgs e1 = new EventLoginArgs(textBox2.Text, textBox1.Text, textBox1.Text);
er.runlogout(e1);
}
//实现事件begin
...#region
public delegate void UserLoginEventHandler(object sender, EventLoginArgs e);//定义委托封装学生类
public delegate void CancelEventHandler(object sender, EventLoginArgs e);//定义取消委托
//定义方法,并把方法封装到以上定义的两个委托中。
public class eventmsg
...{
public void hander1(object sender, EventLoginArgs e)
...{
MessageBox.Show("登陆事件:" + "ID:" + e.strUserID + "密码:" + e.strUserPWD);
}
public void hander2(object sender, EventLoginArgs e)
...{
MessageBox.Show("取消事件:" + "ID:" + e.strUserID + "密码:" + e.strUserPWD);
}
public eventmsg(eventrun er)
...{
UserLoginEventHandler lh = new UserLoginEventHandler(hander1);
CancelEventHandler ch = new CancelEventHandler(hander2);
//把封装了方法的委托加载到事件中
er.loginevent += lh;
er.logoutevent += ch;
}
}
//定义事件及运行事件的方法
public class eventrun
...{
public event UserLoginEventHandler loginevent;
public event CancelEventHandler logoutevent;
public void runlogin(EventLoginArgs e)
...{
if (loginevent != null)
...{
loginevent(this, e);
}
}
public void runlogout(EventLoginArgs e)
...{
if (logoutevent != null)
...{
logoutevent(this, e);
}
}
}
#endregion
//实现事件end
}
//定义学生类
public class EventLoginArgs : System.EventArgs
...{
public string strUserID;
public string strUserName;
public string strUserPWD;
public EventLoginArgs(string userID, string userName, string userPWD)
...{
strUserID = userID;
strUserName = userName;
strUserPWD = userPWD;
}
}
}