【问题标题】:Saving Controls in C# Windows Application在 C# Windows 应用程序中保存控件
【发布时间】:2014-08-09 02:45:43
【问题描述】:

我正在创建一个从视频文件创建按钮列表的应用程序。

生成每个按钮以在单击时打开文件,然后我使用打开的 api (omdb.com) 来获取每个按钮的电影海报。但是,不仅每次启动应用程序时执行此过程很慢,而且对网站来说也是不必要的负载。

在后端动态生成控件后,保存控件的最有效方法是什么。

到目前为止,我已经尝试过使用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

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

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

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

【问题讨论】:

标签: c# windows windows-applications


【解决方案1】:

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

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

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

这个方法比我原来对图像 url 发出多个 web 请求或调用 api 的方法要快得多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多