void OnUserRemoved(UserEventArgs e) { var name=e.UserName; Invoke((Action)(()=>{ if(Application.OpenForms.Cast<Form>().Any(f=>f.Name==name)) (Application.OpenForms[name] as Form2).Close(); AppendLog(name,name+"さんが切断しました。"); listBox1.Items.Remove(listBox1.Items.Cast<User>().First(user=>user.Name==name)); if(Application.OpenForms.Cast<Form>().Any(f=>f is Form3)) screenShotListView.RemoveUser(name); UpdateTitle(); })); }
void OnNewUserAdded(WebSocketSession session,UserEventArgs e) { var name=e.UserName; var color=colors[new Random(name.GetHashCode()).Next(colors.Length)]; Invoke((Action)(()=>{ listBox1.Items.Add(new User(name,color)); AppendLog(name,name+"さんが接続しました。"); if(Application.OpenForms.Cast<Form>().Any(f=>f is Form3)) screenShotListView.AddUser(name); UpdateTitle(); })); }