所以我正在开发一个聊天系统。我想遍历打开的表单,并检查它与字符串列表(form.text!= s)。如果它没有找到与人名相同的打开表单,那么它会打开它的一个新实例。我的问题是,如果表格打开与否,它不会被捕获。它只是自动将其放入要打开的表单列表中。我也不知道为什么,因为它检测到表单已被该文本打开,但仍将它们添加到列表中并打开一个新表单。有什么帮助吗?
FormCollection fc = Application.OpenForms;
foreach (Form f in fc)
{
if (f.Text != iRow["Sender"].ToString())
{
if (!people.Contains(iRow["Sender"].ToString()))
{
people.Add(iRow["Sender"].ToString());
}
}
else if (f.Text == iRow["Sender"].ToString())
{
f.BringToFront();
}
}
foreach (string s in people)
{
ChatBox chat = new ChatBox();
Connection.ConnectionStrings.chatopen = s;
chat.Text = s;
chat.Show();
chat.BringToFront();
ChatBox.sound.playsound.Play();
}
people.Clear();