在C#Windows应用程序中保存控件

我正在创build一个应用程序,创build一个video文件button列表。

生成每个button以在点击打开文件,然后使用打开的api(omdb.com)获取每个电影的海报。 但是,每次启动应用程序时,不仅要做这个过程,而且这也是网站上不必要的负担。

在后台dynamic生成控件后,最有效的方法是什么?

到目前为止,我已经尝试使用Properties.Settings ,但没有任何运气。

 SettingsProperty newSetting = new SettingsProperty("Movie_Button"); newSetting.Name = "Movie_Button_" + *an int that I generate*.ToString(); newSetting.Attributes.Add(Width, 200); //Carry on setting attributes 

到目前为止,这个过程还没有产生任何结果,即使只是试图创build一个只是一个简单的string的SettingsProperty。 而且我尝试过使用和不使用Properties.Settings.Default.Save()

有没有办法保存在运行时创build的控件,以便继续下一次启动应用程序?

如果没有办法做到这一点,那么有人可以帮我创build新的SettingsProperty来保存一个string,或者可能是一个我可以使用的XML。

由于找不到保存控件的方法,我决定将图像保存到一个新文件夹中,然后创建一个包含图像路径的XML(以及一些其他信息,如标题,年份等)。

为了创建XML,我使用了XmlDocument doc = new XmlDocument(); 方法,将图像下载到exe路径的文件夹(使用Application.ExecutablePath获取路径),然后WebClient webclient = new WebClient();webclient.DownloadFile(netPath, localPath)来下载每张图片。

然后在表单加载我重新生成按钮使用来自XML的信息。

这种方法比我的原始方法,使图像网址或调用API的多个Web请求要快得多。