Remake
Remake

Reputation: 15

C# Custom event not working

    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

Answers (1)

RobCroll
RobCroll

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

Related Questions