Reputation: 15
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);
}
This is my event code. and i call event when my socket client receive message(data). but event not worked..
ClientSocket cs;
public Form1()
{
InitializeComponent();
cs = new ClientSocket();
cs.MessageReceiveEvent += Cs_MessageReceiveEvent1;
}
private void Cs_MessageReceiveEvent1(ClientSocket.MessageReceiveEventArgs e)
{
listBox1.Items.Add(e.Message);
}
I tried this.
Upvotes: 1
Views: 72
Reputation: 2589
I cannot see anywhere where you are raising the event. Try making the OnMessageReceiveEvent
method public and then call it from the Form1 constructor.
public Form1()
{
InitializeComponent();
cs = new ClientSocket();
cs.MessageReceiveEvent += Cs_MessageReceiveEvent1;
cs.OnMessageReceiveEvent("Testing Event");
}
Upvotes: 1