我正在创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请求要快得多。