相关疑难解决方法(0)

6
推荐指数
2
解决办法
2万
查看次数

选择ListBox Winform控件中的所有项目

我正在尝试选择ListBox中的所有项目并为此目的制作此扩展方法:

    public static void SetSelectedAllItems(this ListBox ctl)
    {
        for (int i = 0; i < ctl.Items.Count; i++)
        {
            ctl.SetSelected(i, true);
        }
    }
Run Code Online (Sandbox Code Playgroud)

问题是如果我在ListBox中有很多项目,那么完成这个任务需要很长时间,我可以看看ListBox如何自动向下滚动并选择项目.

有没有办法临时暂停控件的更新,以便任务完成得更快?我试过用:

ctl.SuspendLayout();
  for (int i = 0; i < ctl.Items.Count; i++)
  ...
ctl.ResumeLayout();
Run Code Online (Sandbox Code Playgroud)

但这似乎没有做任何事情.

.net c# winforms

3
推荐指数
1
解决办法
2698
查看次数

VirtualMode中的WinForms ListView是否限制为100,000,000行?

我有一些网格场景,我希望在ListView中显示> 500,000,000行.

如果我人为限制我的ListView显示100,000,000:

 _listView.VirtualListSize = _data.Count;
 if (_listView.VirtualListSize > 100000000)
   _listView.VirtualListSize = 100000000;
Run Code Online (Sandbox Code Playgroud)

一切正常(自然在VirtualMode中).当我将我的代码更改为:

 _listView.VirtualListSize = _data.Count;
 if (_listView.VirtualListSize > 100000001)
   _listView.VirtualListSize = 100000001;
Run Code Online (Sandbox Code Playgroud)

ListView显示一个空网格......这是一个Microsoft Bug吗?这是从哪里来的?这是Win32 ListView限制吗?最重要的是,为什么没有记录?

.net listview virtualmode

1
推荐指数
1
解决办法
975
查看次数

标签 统计

.net ×2

c# ×2

winforms ×2

listview ×1

virtualmode ×1