class bbb
{
public delegate void m_ControlClick(XmlNode node);
public event m_ControlClick zkControlClick; void aaa()
{
zkControlClick( node);
}
}
提示zkControlClick 没有初始化这是为什么啊跟http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/00d09cc3-c2da-44c2-9e53-3a273a856b82跟的问题差不多
{
public delegate void m_ControlClick(XmlNode node);
public event m_ControlClick zkControlClick; void aaa()
{
zkControlClick( node);
}
}
提示zkControlClick 没有初始化这是为什么啊跟http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/00d09cc3-c2da-44c2-9e53-3a273a856b82跟的问题差不多
{
public delegate void m_ControlClick(XmlNode node);
public event m_ControlClick zkControlClick;
zkControlClick+=delMethod_ControlClick; void aaa()
{
zkControlClick( null);
}
}
public void delMethod_ControlClick(XmlNode node)
{
MessageBox.Show("Hello");
}
是因为zkControlClick 没有被订阅
触发事件最好这样写:
void aaa()
{
m_ControlClick _Handle= zkControlClick;
if (_Handle!=null)
zkControlClick( node);
}
class ccc
{
ccc()
{
new bbb().zkControlClick += new sln.m_ControlClick(frmsln_zkControlClick);
}
void frmsln_zkControlClick()
{
messagebox.show("asdf");
}
}
在aaa这个类里注册了那个事件
class ccc
{
ccc(bbb b)
{
// 不能随意new一个bbb的对象,必须订阅指定对象的事件。所以楼主需要重载一个
// 构造函数
b.zkControlClick += new sln.m_ControlClick(frmsln_zkControlClick);
}
void frmsln_zkControlClick()
{
messagebox.show("asdf");
}
}
{
public Form2()
{
InitializeComponent();
} public delegate void WebClientEvent(string data);
public event WebClientEvent nasha; private void Form2_Load(object sender, EventArgs e)
{
nasha("aaa");
}
}提示nasha没有初始化下面这个是调用的地方
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{ Form2 f = new Form2();
f.nasha += new Form2.WebClientEvent(f_nasha);
f.Show();
} void f_nasha(string data)
{
MessageBox.Show(data);
}
}