c# - 如何真正快速地选择列表框中的所有项目?

标签 c# winforms listbox

我在绑定(bind)到数据源 (BindingList) 的表单 (Windows Forms) 上有一个 ownerdrawn ListBox。 我需要提供一个选项来非常快速地选择所有项目(最多 500000 个)。

这是我目前正在做的:

for (int i = 0; i < listBox.Items.Count; i++)
    listBox.SetSelected(i, true);

这非常慢且 Not Acceptable 。有人知道更好的解决方案吗?

最佳答案

假设这是一个 Windows 窗体 问题:Windows 窗体将在每个选定项之后绘制更改。要禁用绘图并在完成后启用它,请使用 BeginUpdate()EndUpdate() 方法。

listBox.BeginUpdate();

for (int i = 0; i < listBox.Items.Count; i++)
    listBox.SetSelected(i, true);

listBox.EndUpdate();

关于c# - 如何真正快速地选择列表框中的所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34953171/

相关文章:

c# - 具有自定义列的延迟加载 DataGridView

c# - 未在MVVM中填充组合框列表

c# - 来电者完成连接后,我如何关闭连接?

C#:在哪些类中使用了 ICommandExecutor 接口(interface)?

c# - Properties.Settings.Default.Save();不在用户机器上保存

c# - 测试 WinForms 用户控件 - 子控件保持隐藏状态

vba - ListBox 基于 ComboBox 填充 - 不同的数据结构

c# - 在 tabitems 中加载列表框 - 使用哪个事件?

c# - 将 c# 代码文件转换为一个 html 文件?

c# - 在 C# 中获取所有管理员的桌面路径