包含1000多个项目的列表框冻结Visual Studio

时间:2011-04-13 16:49:41

标签: vb.net visual-studio-2010 visual-studio listbox

我有一个包含1091项的列表框,我在设计时添加了这些项目。每次Visual Studio尝试保存后,我手动填充列表框,它将无限期挂起。有没有办法解决这个问题,我是否尝试将更多项目添加到列表框中?

由于

3 个答案:

答案 0 :(得分:5)

我不是在设计时手动逐个城市地进行,而是在运行时循环浏览文本文件(或excel文件或数据库)并将所有城市添加到列表中,然后用于填充列表框。

当然,这不是您当前问题的答案,但这可能是您当前问题的解决方案。

更新:资源文件可能是一个愉快的媒介。您仍然可以将您的城市名称保存在某种文本文件中。然后,将该文本文件添加到资源文件中。然后将资源文件与您的程序集成,这样您就不必在知道文件存在的情况下处理用户。

我用C#(我的首选语言)尝试了它,它比我想象的更简单。添加资源文件Resource1后,我将我的文本文件cityListTextFile.txt添加到Resource1。从那时起,我可以像这样访问它:

string cityList = Resource1._cityListTextFile;

在那行代码之后,我获得了cityListTextFile的所有内容。

请查看本教程,了解如何使用VB.NET中的资源文件和C#资源文件。

答案 1 :(得分:1)

为什么在设计时将这么多值放在列表框上?尝试添加执行时间,因此VisualStudio不会挂起。

答案 2 :(得分:0)

您可以在更新列表框时阻止重新绘制:

 listBox1.BeginUpdate()
 Dim num As Integer
 For num = 1 To 3000
     listBox1.Items.Add("Item " & num.ToString())
 Next num
 ' End the update process and force a repaint of the ListBox.
 listBox1.EndUpdate()