1
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);
}
これは私のイベントコードです。ソケットクライアントがメッセージ(データ)を受け取ったときにイベントを呼び出します。イベントは機能しません。C#カスタムイベントが機能しない
ClientSocket cs;
public Form1()
{
InitializeComponent();
cs = new ClientSocket();
cs.MessageReceiveEvent += Cs_MessageReceiveEvent1;
}
private void Cs_MessageReceiveEvent1(ClientSocket.MessageReceiveEventArgs e)
{
listBox1.Items.Add(e.Message);
}
私はこれを試しました。
これはまだ動作していません。私のソケットのasyncReceiveメソッドを呼び出すイベントです。 – Remake
そしてそれは奇妙にコンソールプログラムで働いた – Remake
あなたが行って、あなたがそれを働かせることができない場合、別のコメントを投稿する方法を見てください – RobCroll