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

C# 在运行时缓存和重用控件?,c#,.net,winforms,caching,C#,.net,Winforms,Caching,我正在开发一个应用程序,它的功能之一是允许用户将新对象输入系统(例如,产品)。创建新产品时,用户可以选择一个类别,然后程序继续加载用户以前设置的该类别的任意数量的自定义属性 程序加载和显示属性时不会出现问题。然而,问题是可能有数百个不同的类别,它们都有自己的属性集。因此,我不想在用户每次切换到不同的产品类别时查询数据库并设置控件 我正在努力寻找最好的方法,在加载类别的属性和控件后将其“缓存”到内存中,以便随后的加载是即时的 有人有什么想法吗 编辑:为了澄清,我的问题是关于缓存控件,而不是属性(数

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

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

我正在努力寻找最好的方法,在加载类别的属性和控件后将其“缓存”到内存中,以便随后的加载是即时的

有人有什么想法吗


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

就缓存而言,您可能需要从模式与实践中检查缓存应用程序块,只要知道数据库中的数据变化不大,您就可以使用此块来缓存这些数据。

就缓存而言,您可能需要从模式和实践中检查缓存应用程序块,只要知道数据库中的数据变化不大,您就可以使用此块来缓存这些数据。

进行一些研究后,我得出的结论是,最好创建一个UserControl容器,用所需的属性及其控件填充每个容器,然后将该UserControl缓存在字典中。在测试之后,我注意到这非常有效,而且速度也非常快。在做了一些研究之后,我得出了一个结论:最好创建一个UserControl容器,用所需的属性及其控件填充每个容器,然后将该UserControl缓存在字典中。测试后,我注意到这非常有效,而且速度也非常快,谢谢你的回答。问题不在于数据库中的数据——这很容易缓存。问题在于从数据中创建的控件。谢谢您的回答。问题不在于数据库中的数据——这很容易缓存。问题在于从数据创建的控件。