gpt4 book ai didi

c# 在填充列表框时填充文本框

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:43 24 4
gpt4 key购买 nike

这是我的代码:

private void _1_Load(object sender, EventArgs e)
{
FillA();
FillB();
// Tried these lines too but they show listbox values but not textbox value
// var t2 = Task.Run(() => FillA());
// FillB();
}

private void FillA()
{
this.Invoke(new MethodInvoker(delegate()
{
for (int i = 1; i > 0; i++)
{
listBox1.Items.Add(i.ToString());
listBox1.Update();
Thread.Sleep(25);
}
}));
}

private void FillB()
{
Thread.Sleep(3000); //1 seconds delay
textBox1.Text = "Hello World!";
}

当页面加载时,列表框 应该开始显示数字 1、2、3... 然后在延迟几秒后,文本框应该显示 Hello World! 值,但列表框应保持增长。我如何确保列表框首先应该开始填充,然后文本框应该填充。我不想等待列表框的填充,然后再填充文本框。

如有任何建议,我们将不胜感激。

编辑:这只是一个示例代码。在实际生产中会有两个进程,一旦第一个进程开始获取数据并存储到列表框,第二个进程就会开始。

第一个过程应该继续进行。我不能在中间停止它,因为它会造成数据不一致。

最佳答案

不要使用 sleep 。而是使用定时器类:

https://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.110).aspx

  • 配置 1 秒的超时。

  • 为计时器连接 Elapsed 事件:

    aTimer.Elapsed += OnTimedEvent;
  • 在 OnTimedEvent 方法中,您可以递增一个整数变量 i

  • 根据 i 的值填充第一个列表框,如果值较高则填充另一个列表框。

关于c# 在填充列表框时填充文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44561611/

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