我在 C++ Windows 窗体应用程序中使用计时器。使用 WinSock2 处理从服务器发送的接收消息。我的计时器的当前代码是,
private: System::Void tmrMessages_Tick(System::Object^ sender, System::EventArgs^ e) {
int ID;
char* cID = new char[64];
char* message = new char[256];
ZeroMemory(cID, 64);
ZeroMemory(message, 256);
if(recv(sConnect, message, 256, NULL) != SOCKET_ERROR && recv(sConnect, cID, 64, NULL) != SOCKET_ERROR)
{
ID = atoi(cID);
if (ID == 1)
{
lbxMessages->Items->Add("hello");
}
}
}
我没有让它将变量添加到列表框中,因为我想测试并确保它首先工作。它确实有效,但是它使应用程序变得如此缓慢,以至于根本不允许任何用户输入。它确实显示了正在更新的列表框,但就像我说的那样,不允许我移动窗口、单击文本框或任何东西。如果您知道为什么会发生这种情况,请告诉我。
谢谢。