我知道命名控件的限制是254,除此之外你必须使用控件数组。但似乎我们也达到了阵列的极限。知道绝对限制是什么吗?
答案 0 :(得分:7)
没有绝对限制。如果你在表单上放了足够的控件,你最终会耗尽内存。我做了一个测试应用程序,将命令按钮加载到控件数组中。我的第一次运行因大约6900个按钮的“Out of memory”错误而停止。我关闭了一些其他的应用程序,并且能够加载近8200.我用文本框做了同样的事情并得到了不同的结果(之前大约7300和之后的8600)。不同的控件占用不同的内存量,因此实际上无法指定可以放在表单上的确切数量的控件。
答案 1 :(得分:1)
我们有一个用VB6编写的记录管理系统,并且有一个UI指南,说明每条记录应该只有一个与之关联的数据输入表格(即无法打开其他窗口)。作为此策略的结果,我们系统中的一个更复杂的记录类型现在具有总共659个单独控件的表单。我们遇到了256个命名控件限制,然后将许多控件转换为控制数组随着时间的推移。最近,在完成整个表格并将剩余的少量独立控件转换为控制阵列之后,我们为5或6个新控件腾出了空间。
这是我想要破坏规则的一次,但这将涉及使用多种形式方法的相当多的重构。
无论如何,你可以在一个表单上放置至少659个控件,但我从来没有能够找出真正的绝对限制是什么(我不确定我想要的)。