C# 从列表框中的项目下载多个文件
我试图解决以下问题,但我无法做到这一点,因为我一个月前才开始编程 我有一个包含20项的列表框:C# 从列表框中的项目下载多个文件,c#,winforms,C#,Winforms,我试图解决以下问题,但我无法做到这一点,因为我一个月前才开始编程 我有一个包含20项的列表框: private void loadDownloadXMLListBox() { var items = new[] { "BARC", "DEV", "DOM", "EZJ", "GFS", "IHG", "JD.", "LAD", "LLOY", "MRW", "NXT", "OCDO", "
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个项目并将它们全部下载到一个文件夹中而不选择项目吗?谢谢。首先,您可以将下载单个文件功能外部化为一种单独的、可重复使用的方法:
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);
}
您可以首先将下载单个文件功能外部化为一个单独的、可重用的方法:
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);
}
也谢谢你的帮助:)也谢谢你的帮助:)