回答
最好的办法是使用Control.SuspendLayout方法,你已经开始,以填补你的按钮控制之前,比Control.ResumeLayout你完成
+1只有人能真正回答OP的问题(到目前为止,其他人对于他是否有一个好的设计或多或少的评论,应该在评论部分进行评论......) – marr75 2013-03-04 14:41:50
@ marr75 - 我同意但是这个**是一本教科书[XY-Problem](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem/66378#66378)。 – 2013-03-04 14:45:03
当然。质疑他的设计和询问更多信息对于评论部分来说都是完美的项目,尽管(如果他必须通过回答问题并回答问题,那么受访者的投资会明显更高)。 – marr75 2013-03-04 14:50:02
您可以尝试在加载控件之前暂停布局,然后再继续。这应该加快加载:SuspendLayout
下面是这可能被证明是有用的阅读链接:(TIPS改善的Wndows窗体应用程序性能) -
每个'Form1.Designer.cs'也显示如何使用它。 – 2013-03-04 14:37:55
这几乎是不可能的,你需要所有该按钮立即。
如果您正在设计用户界面,请将其分割为选项卡,其中选项卡表示UX逻辑组。
如果你不设计 UI,使用控制是不是一个好的选择,选择别的东西在屏幕上绘制,它会快很多。
有一些很好的提示后,在这里你可以通过加快应用程序。
http://devcomponents.com/blog/?p=361
这么说,我真的会提高人们对到底为什么你需要加载720个键的问题。您很可能只会使用表单上5%的可用控件。找出减少它们的好方法。
如果您想“隐藏”加载所有控件的过程,只需使用启动画面,以便用户可以看到应用程序正在加载,但在加载完成之前无法看到所有实际组件。
PS:考虑将组中的按钮分开,因为我需要在一个位置使用所有按钮(也许在选项卡中拆分?并在按下该选项卡时加载它们)好吧,考虑一下。
- 1. Rails用param创建对象 - 不需要
- 2. 需要帮助来创建时间槽
- 3. 在C#中按需创建对象#
- 4. 高效创建大量小C++对象的需要访问“全局”对象
- 5. 为什么在VB6中创建新的Crystal Report对象需要很长时间?
- 6. 为什么我的对象需要很长时间才能创建?
- 7. 需要在创建时生成一个包含id的对象
- 8. 需要时动态创建子对象和数组
- 9. 仅在需要时才创建Java对象?
- 10. C# - 对象创建
- 11. C++:创建对象
- 12. 创建C++对象
- 13. 创建对对象C++
- 14. scala对象的创建时间
- 15. Java - 创建对象时无需更改原始对象
- 16. 如何随着时间不断创建对象? C++游戏
- 17. 用特定的时间在C#创建对象
- 18. 从时区和日期和时间创建时间对象?
- 19. 需要创建ajax调用中止和时间间隔
- 20. 仅在需要时(注射时)用匕首2创建改造对象
- 21. C++/CLI - 创建对象
- 22. 创建类对象objective c
- 23. 在C++中创建对象
- 24. 关于C++对象创建
- 25. c#循环对象创建
- 26. 从QML创建C++对象
- 27. 动态创建C#对象
- 28. 问题创建对象C++
- 29. C++异步创建对象
- 30. C#对象创建者
你究竟在做什么需要720个按钮? – PhonicUK 2013-03-04 14:35:27
您不应该尝试减少创建一个按钮所需的时间。相反,减少按钮的数量。这看起来像是一个真正的设计缺陷。 – 2013-03-04 14:36:43
你在使用Forms还是WPF? – nvoigt 2013-03-04 14:37:23