_Stream.BeginRead(ReadBuffer, 0, BufferSize, new AsyncCallback(DoRead),null);
}
private void DoRead(IAsyncResult a)
{
try
{
int t = _Stream.EndRead(a);
string mess = Encoding.UTF8.GetString(ReadBuffer, 0, t);
SimulateNewMessage(null, mess);
_Stream.BeginRead(ReadBuffer, 0, BufferSize, new AsyncCallback(DoRead), null);
}
catch
{
MessageBox.Show("123");
Application.Exit();
}
}
}
класс, который подписывается на уведомление о событии
public partial class MessageWindow : Form
{
Client Guest;
public MessageWindow(Client Guest)
{
InitializeComponent();
this.Guest = Guest;
this.Guest.NewMessage += new Client.NewMessageEventHandler(Guest_NewMessage);
}
}
class Program
int main()
{
Client my = new Client(new TcpClient(textBox1.Text, 59));
MessageWindow mw = new MessageWindow(my);
mw.Show();
}
так вот, когда messagewindow должен реагировать на произошедшее событие, как то приход мессаги, ничего не происходит по след. причине:
protected virtual void OnNewMessage(NewMessageArgs e)
{
if (NewMessage != null) //NewMessage == null
NewMessage(this, e);
}