我有一个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; }