日期:2014-05-18 浏览次数:21381 次
public class MyEventArgs : EventArgs
{
private int age;
private string name;
private bool sex;
public MyEventArgs (int age)
{
this.age=age;
}
public MyEventArgs (string name)
{this.name=name;}
public MyEventArgs (bool sex)
{this.sex=sex;}
public int Age
{ get{return this.age;}}
public string Name
{
get { return this.name; }
}
public bool Sex
{ get{return this.sex;} }
}
//你在访问的时候直接用不用的参数,
//委托定义为
public delegate void MyEventHandler(object sender, MyEventArgs e);
//事件定义为
public event MyEventHandler MyChanged;//定义一个ColorChanged事件
protected virtual void MyChanged(MyEventArgs e)
{//事件触发方法
if (MyChanged!= null)
{//判断事件是否为空
MyChanged(this, e);//触发事件
}
}
//使用应该会的吧
int i=1;string a="test"; bool flag=false;
MyChanged(new MyEventArgs(i));
MyChanged(new MyEventArgs(a));
MyChanged(new MyEventArgs(flag));
------解决方案--------------------
就是一楼那样了
protected virtual void MyChanged(MyEventArgs e)
{//事件触发方法
if (MyChanged!= null)
{//判断事件是否为空
MyChanged(this, e);//触发事件
}
}
//使用应该会的吧
int i=1;string a="test"; bool flag=false;
MyChanged(new MyEventArgs(i));
MyChanged(new MyEventArgs(a));
MyChanged(new MyEventArgs(flag));