在运行时缓存和重用控件?

时间:2011-05-27 23:42:17

标签: c# .net winforms caching

我正在开发一个应用程序,它在其功能中允许用户将新对象输入系统(例如,产品)。在创建新产品时,用户可以选择一个类别,然后程序继续加载用户之前设置的该类别的任意数量的自定义属性。

程序加载并显示属性没有问题。但问题是,可能有数百个不同的类别,都有自己的属性集。因此,每次用户切换到不同的产品类别时,我都不想查询数据库并设置控件。

我正在努力解决在加载后在内存中“缓存”类别属性和控件的最佳方法,以便后续加载是即时的。

有人有什么想法吗?

编辑:为了澄清,我的问题是关于缓存控件,而不是属性(数据)

2 个答案:

答案 0 :(得分:1)

在做了一些研究后,我得出结论,最好创建一个UserControl容器,并用所需的属性及其控件填充每个容器,然后将该UserControl缓存在Dictionary中。经过测试,我发现这非常有效,并且快速

答案 1 :(得分:0)

就缓存而言,您可能希望从Patterns& amp;中检查缓存应用程序块。实践here,您可以使用此块来缓存来自数据库的数据,只要您知道它们没有那么大的变化。