private void RequestListener_DoWork(object sender, DoWorkEventArgs e) { while (true) { for (int i = 0; i < lobby_list.Count; i++) { if (((LobbyListEntry)lobby_list[i]).tc.Available > 0) { RequestHandleCallback d = new RequestHandleCallback(RequestHandle); this.Invoke(d, new object[] { i }); } } Thread.Sleep(100); } }