我有此代码,将项目添加到上下文菜单的子菜单:
CTX_VALUE.Enabled = True
CTX_VALUE.Visible = True
CTX_VALUE.Text = "List Values"
For k As Integer = 0 To CELL.VALUE_LIST.Count - 1
CTX_VALUE.DropDownItems.Add(CELL.VALUE_LIST(k))
Next k
其中 CTX_VALUE
是 ToolStripMenuItem
和CELL.VALUE_LIST
是ToolStripMenuItems
ArrayList
(是的,旧代码!)当添加大约150个项目时,它变得非常慢,大约2.5秒。
添加之前的可见性并不重要,我尝试将其移动。
顺便说一句,请注意,添加项目时,上下文菜单在屏幕上不是!
我还尝试了在添加之前暂停了CTX_VALUE
的布局。没有运气。
您应该使用CTX_VALUE.DropDownItems.AddRange()
方法
在添加项目之前 ts_filter.dropdown.suspenddrawing(请参阅下面的附录注释) 和 ts_filter.dropdown.suspendlayout 循环后,我使用了相应的简历方法。这对我的程序从不可行到瞬间带来了巨大的影响。 附录: - RESUMEDRAWING(单独)阻止了我的自定义文本框(从woolstriptextbox From继承)显示。我发现暂停和恢复独自一人,但它保持了速度。