private void btnStartChat_Click(object sender, EventArgs e) { if (listBox1.SelectedIndex == -1) { return; } ChatSessie[] cs = Sessies.Where(T => T.Ontvanger == OnlineUsers[listBox1.SelectedIndex]).ToArray(); if (cs.Length == 0) { ChatSessie nieuw = new ChatSessie(this, OnlineUsers[listBox1.SelectedIndex]); nieuw.FormClosed += delegate { Sessies.Remove(nieuw); }; Sessies.Add(nieuw); nieuw.Owner = this; nieuw.Show(); } else { cs.First().BringToFront(); cs.First().Activate(); } }
private void UpdateTextBox(string tekst) { if (tekst == "") { return; } string[] data = tekst.Split(';'); switch (data[0]) { case "Ingelogd": btnInloggen.Enabled = false; btnRegistreren.Enabled = false; btnUitloggen.Enabled = true; IK = new User(data[1]); break; case "Uitgelogd": btnInloggen.Enabled = false; btnRegistreren.Enabled = false; btnUitloggen.Enabled = false; btnVerbind.Enabled = true; listBox1.Items.Clear(); myNetworkStream.Close(); mySocket.Shutdown(SocketShutdown.Both); break; case "Online users": listBox1.Items.Clear(); OnlineUsers.Clear(); for (int i = 1; i < data.Length; i++) { listBox1.Items.Add(data[i].Split(',')[1]); OnlineUsers.Add(new User(data[i])); } break; case "Bericht": // Bericht;zender.id;zender.user;ik.id;bericht ChatSessie[] it = Sessies.Where(T => T.Ontvanger.ID == Convert.ToInt32(data[1])).ToArray(); if (it.Length == 1) { it[0].OntvangBericht(data[2], data[4]); it[0].BringToFront(); it[0].Activate(); } else { ChatSessie nieuw = new ChatSessie(this, OnlineUsers.Where(T => T.ID == Convert.ToInt32(data[1])).ElementAt(0)); nieuw.FormClosed += delegate { Sessies.Remove(nieuw); }; Sessies.Add(nieuw); nieuw.Owner = this; nieuw.Show(); nieuw.OntvangBericht(data[2], data[4]); } break; default: Application.DoEvents(); break; } txtOntvangen.AppendText(tekst + Environment.NewLine); }