c# listbox 添加一次就显示一行,请问下怎么实现 20
1、我想点击button1后,往listbox里添加数,有很多行,但是目前点击按钮后要全部加载完才会一次性显示在listbox里,要等选用长时间才乍的到数据,我想实现运行...
1、我想点击button1 后,往 listbox 里添加数,有很多行,但是目前 点击按钮后要全部加载完才会一次性显示在listbox里,要等选用长时间才乍的到数据,我想实现运行的时候,每往里面添加一行就显示一行,要怎么做?
2、还有一个就是,点按钮开始加载的时候,界面就操作不了,卡死了一样,请问下这是要用多线程来解决还是用什么简单的办法解决? 多谢多谢!!!
例子: private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 50000; i++)
{
listBox1.Items.Add(i.ToString());
}
}
我想1 2 3 等添加一个数就显示一次,但现在就是必须全部加完才显示 展开
2、还有一个就是,点按钮开始加载的时候,界面就操作不了,卡死了一样,请问下这是要用多线程来解决还是用什么简单的办法解决? 多谢多谢!!!
例子: private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 50000; i++)
{
listBox1.Items.Add(i.ToString());
}
}
我想1 2 3 等添加一个数就显示一次,但现在就是必须全部加完才显示 展开
4个回答
展开全部
1、ListBox.Items.Add
2、只有使用多线程
2、只有使用多线程
追问
例子: for (int i = 0; i < 50000; i++)
{
listBox1.Items.Add(i.ToString());
}
我想1 2 3 等添加一个数就显示一次,但现在就是必须全部加完才显示
追答
像for...50000这种属于耗时代码。应该丢给线程来做。
网友采纳的那个答案的代码可以作为参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用多线程操作,现在你添加数据到控件的主要代码是什么样的?
追问
例子: for (int i = 0; i < 50000; i++)
{
listBox1.Items.Add(i.ToString());
}
我想1 2 3 等添加一个数就显示一次,但现在就是必须全部加完才显示
追答
下面代码可以实现,不过还有待改进:
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(() =>
{
for (int i = 1; i <= 50000; i++)
{
this.listBox1.Invoke(
new Action(() =>
{
this.listBox1.Items.Add(i);
}));
}
});
t.IsBackground = true;
t.Start();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试这个
listBox1.Refresh();
listBox1.Refresh();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询