【问题标题】:Downloading Multiple Files From the Items in Listbox从列表框中的项目下载多个文件
【发布时间】:2012-08-19 15:02:55
【问题描述】:

我尝试解决以下问题,但由于我一个月前才开始编程,所以无法解决。

我有一个包含 20 个项目的列表框:

private void loadDownloadXMLListBox()
{
    var items = new[] { "BARC", "DEV", "DOM", "EZJ", "GFS", 
                        "IHG", "JD.", "LAD", "LLOY", "MRW", 
                        "NXT", "OCDO", "RBS", "SMWH", "SPD", 
                        "STAN", "SYR", "TALK", "TSCO", "WMH" };
    foreach (var item in items) listDownloadXML.Items.Add(item);

    listDownloadXML.SelectedIndex = -1;
}

这是我从网站下载单个选定文件的代码:

private void btnDownloadXML_Click(object sender, EventArgs e)
{
    using (WebClient client = new WebClient())
    {
        client.DownloadFile("http://www.lse.co.uk/chat/" + listDownloadXML.SelectedItem,
                                                    @"..\..\sharePriceXML\" +
                                         listDownloadXML.SelectedItem + ".xml");
    }
    MessageBox.Show("Download Completed! File has been placed in the folder sharePriceXML!");
}

我想点击“全部下载”按钮,然后,网站上的所有 20 个项目都将被下载。我可以知道如何循环浏览列表框中的 20 个项目并将它们全部下载到一个文件夹中而不选择项目吗?谢谢。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:
    foreach (var item in listDownloadXML.Items)
    {
        //... your code to download "item".
    }
    

    【讨论】:

      【解决方案2】:

      您可以首先将下载单个文件的功能外部化为一个单独的、可重用的方法:

      public void DownloadFile(string item)
      {
          using (var client = new WebClient())
          {
              client.DownloadFile(
                   "http://www.lse.co.uk/chat/" + item,
                   @"..\..\sharePriceXML\" + item + ".xml"
              );
          }
          MessageBox.Show("Download Completed! File has been placed in the folder sharePriceXML!");
      }
      

      然后:

      private void btnDownloadXML_Click(object sender, EventArgs e)
      {
          DownloadFile((string)listDownloadXML.SelectedItem);
      }
      

      现在关于多个文件的问题 => 您使用循环并为列表框中的每个元素调用 DownloadFile 方法:

      foreach (string item in listDownloadXML.Items)
      {
          DownloadFile(item);
      }
      

      【讨论】:

      • 也感谢您的帮助:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      相关资源
      最近更新 更多