【问题标题】:Adding about 4000 or more controls in a panel in winforms creating Error Creating window handle在winforms的面板中添加大约4000个或更多控件创建错误创建窗口句柄
【发布时间】:2021-10-20 23:45:25
【问题描述】:

我有一个表单,我想在其中添加大约数千个标签,但它总是为创建窗口句柄提供异常。 我正在处理一些标签并创建更多控件,但我找不到任何解决方法。

我将它们处理为:

track.Tablature.Controls.OfType<Control>().ToList().Where(t => getNotes.Select(z => z).Contains(t.Name) || getLabels.Contains(t.Tag) || getLabels.Contains(t.Name) || getLabels.Contains(t.Name)).ToList().ForEach(z =>
            {                
                track.Tablature.Controls.Remove(z);
                z.Dispose();
            });
            
            GC.SuppressFinalize(this);

here is the error 至少它应该允许我添加 10000 个控件,但它会在 4500 个控件时给出错误

【问题讨论】:

标签: c# winforms


【解决方案1】:

请参阅https://docs.microsoft.com/en-us/windows/win32/sysinfo/gdi-objects 了解最大 GDI 句柄和https://docs.microsoft.com/en-us/windows/win32/sysinfo/user-objects 了解与您的情况相关的最大用户句柄。正如其他人所说,它不一定总是 10000。

【讨论】:

    猜你喜欢
    • 2012-05-17
    • 2023-03-14
    • 2011-10-17
    • 1970-01-01
    • 2017-06-03
    • 2013-12-10
    • 2013-01-30
    相关资源
    最近更新 更多