我有一个Form窗体和一个clsEvent类,
在Form窗体里面注册了事件。
在clsEvent类里面定义了委托+事件,最后也抛出了事件。但是为什么我在Form窗体里面缺获取不到该事件??
后来我修改了clsEvent类里面定义的Event事件为static静态了,Form窗体就可以获取到了?
clsEvent类
public class clsEvent
{
public delegate void ShowSometing1(string strTxtbox);
public static event ShowSometing1 btnClick1;
private string _strContent;
public string StrContent
{
get
{
return _strContent;
}
set
{
//当属性更改了,就触发事件
_strContent = value;
//在事件的发行者中触发事件。
if ( btnClick1 != null)
{
btnClick1(_strContent);
}
}
}
Form1_Load
clsEvent m_clsEvent = new clsEvent();
//Form窗体向class类中注册事件
m_clsEvent .btnClick1 += new m_clsEvent .ShowSometing1(TextBoxChange)
private void button1_Click(object sender, EventArgs e)
{
//改变属性,从而激发事件。
m_clsEvent .StrContent = this.textBox1.Text;
}
public void TextBoxChange(string strContent)
{
this.txtClass.Text = strContent;
}