我有一个包含 System.Windows.Forms.TrackBar 的控件。我将其最大值设置为~200,000,000。当我这样做时,控件需要 800MB 内存。将最大值减少到 2,000,000 使用了更合理的内存量。
//trackBar.Maximum = 210554060; // uses ~800MB of memory
trackBar.Maximum = 1000000; // uses a small amount of memory
这是 Windows 控件中的错误吗?还是我要求轨迹栏做一些不合理的事情?
更新: 我创建了一个新的 Windows 窗体项目,窗体上只有一个轨迹栏。我将最大值设置为 200,000,000。我设置了 TickFrequency 和更改,以便没有数百万个刻度和更改步骤。
当我这样做时,应用程序使用了超过 800MB 的内存。我正在使用 .NET Framework 4。
.
更新 我发现了这个问题的一些解释:http ://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.windowsforms.controls/2006-12/msg00015.html
添加链接到测试项目 https://www.dropbox.com/s/nh6jsymw05feoqn/testingTrackbar.zip?m