Winforms上下文菜单真的很慢,添加150个工具条菜单项



我有此代码,将项目添加到上下文菜单的子菜单:

 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_VALUEToolStripMenuItem

CELL.VALUE_LISTToolStripMenuItems

ArrayList(是的,旧代码!)

当添加大约150个项目时,它变得非常慢,大约2.5秒。

添加之前的可见性并不重要,我尝试将其移动。
顺便说一句,请注意,添加项目时,上下文菜单在屏幕上不是!

我还尝试了在添加之前暂停了CTX_VALUE的布局。没有运气。

您应该使用CTX_VALUE.DropDownItems.AddRange()方法

添加这些

添加项目之前

ts_filter.dropdown.suspenddrawing(请参阅下面的附录注释)

ts_filter.dropdown.suspendlayout

循环后,我使用了相应的简历方法。这对我的程序从不可行到瞬间带来了巨大的影响。

附录: - RESUMEDRAWING(单独)阻止了我的自定义文本框(从woolstriptextbox From继承)显示。我发现暂停和恢复独自一人,但它保持了速度。

相关内容

  • 没有找到相关文章

最新更新