public delegate void MessageReceiveEventHandler(MessageReceiveEventArgs e);
public event MessageReceiveEventHandler MessageReceiveEvent;
public class MessageReceiveEventArgs : EventArgs
{
public string Message { get; }
public MessageReceiveEventArgs(string Message)
{
this.Message = Message;
}
}
private void OnMessageReceiveEvent(string Message)
{
if (MessageReceiveEvent == null) return;
MessageReceiveEventArgs MessageREvent = new MessageReceiveEventArgs(Message);
MessageReceiveEvent(MessageREvent);
}
这是我的活动代码。当我的套接字客户端收到消息(数据)时,我调用事件。但事件没有奏效..
ClientSocket cs;
public Form1()
{
InitializeComponent();
cs = new ClientSocket();
cs.MessageReceiveEvent += Cs_MessageReceiveEvent1;
}
private void Cs_MessageReceiveEvent1(ClientSocket.MessageReceiveEventArgs e)
{
listBox1.Items.Add(e.Message);
}
我试过了。
答案 0 :(得分:1)
我无法看到你举起活动的任何地方。尝试将OnMessageReceiveEvent
方法公开,然后从Form1构造函数中调用它。
public Form1()
{
InitializeComponent();
cs = new ClientSocket();
cs.MessageReceiveEvent += Cs_MessageReceiveEvent1;
cs.OnMessageReceiveEvent("Testing Event");
}