private void FormLanIM_Load(object sender, EventArgs e) { //此处需要注意,一定要把主线程UI传给LanUser,否则下面的线程调用主线程的部分会错, //因为基本都没有采用invoke方式(虽然invoke方式也可以对应这种情况) SynchronizationContext context = SynchronizationContext.Current; TaskFactory tf = new TaskFactory(); tf.StartNew(() => { InitMainUser(context); InitUserListBox(context, ""); //开始监听 _user.Listen(); //1秒后发送上线通知 Thread.Sleep(800); _user.Login(); }); }
private void buttonEntry_Click(object sender, System.EventArgs e) { _user.NickName = textBoxNN.Text; _user.Login(); }