gpt4 book ai didi

c# - 表单在 for 循环期间卡住

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:31 25 4
gpt4 key购买 nike

我 ping 了 50 个 IP 地址,但是当我点击开始时程序死机了。

不卡住怎么办。

private void button1_Click(object sender, EventArgs e)
{
string IP = textBox1.Text;
string[] IPBlocks = IP.Split('.');
for (int x = 0; x < 50; x++)
{
System.Threading.Thread.Sleep(50);
int IPLastBlock = Int32.Parse(IPBlocks[3]) + (x+1);
IP = IPBlocks[0]+"."+ IPBlocks[1]+"."+ IPBlocks[2]+"."+ IPLastBlock;
bool pingStatus = PingHost(IP);
textBox2.Text += String.Format("{0} => {1} \r\n", IP, pingStatus);
}
}

最佳答案

单击按钮启动一个单独的线程,这不会挂起您的屏幕

    private void button1_Click(object sender, EventArgs e)
{
Thread newThread= new Thread(PingIP);
newThread.Start();
}

private void PingIP()
{
string IP = textBox1.Text;
string[] IPBlocks = IP.Split('.');
for (int x = 0; x < 50; x++)
{
System.Threading.Thread.Sleep(50);
int IPLastBlock = Int32.Parse(IPBlocks[3]) + (x+1);
IP = IPBlocks[0]+"."+ IPBlocks[1]+"."+ IPBlocks[2]+"."+ IPLastBlock;
bool pingStatus = PingHost(IP);
textBox2.Text += String.Format("{0} => {1} \r\n", IP, pingStatus);
}
}

关于c# - 表单在 for 循环期间卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40858643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com