la collection a été modifiée opération d'énumération peut pas exécuter

D'accord, alors je veux ouvrir un nouveau formulaire si elle n'est pas déjà ouvert. J'ai donc vérifier la forme, basée sur le Titre ou le texte de la forme. Jusqu'à maintenant, il travaille, comme dans le formulaire s'ouvre et s'il est déjà ouvert, c'est juste qu'il apporte à l'avant. Mais mon problème étant que s'il n'est pas ouvert, et j'essaie de créer une nouvelle instance de lui, il me lance le "la Collection a été modifiée; opération d'Énumération peut pas exécuter". Et je ne peux pas pour la vie de me comprendre pourquoi. Toute aide est appréciée.

foreach (DataRow iRow in chatcheck.Rows)
{
   FormCollection fc = Application.OpenForms;
   foreach (Form f in fc)
   {
      if (f.Text != ChatReader["Sender"].ToString())
      {

         ChatBox chat = new ChatBox();
         Connection.ConnectionStrings.chatopen = ChatReader["Sender"].ToString();
         chat.Text = Connection.ConnectionStrings.chatopen;
         chat.Show();
         chat.BringToFront();

      }
      else if (f.Text == ChatReader["Sender"].ToString())
      {
              f.BringToFront();
      }
   }
}

OriginalL'auteur Dr Archer | 2013-09-29