C# 每天自动刷新图像

C# 每天自动刷新图像,c#,winforms,visual-c++,c++-cli,C#,Winforms,Visual C++,C++ Cli,我需要在Windows窗体应用程序中定期显示一些图像。图像的源是一个固定的URL链接。链接中的图像每天自动更新。我需要的是使我的应用程序能够每天自动刷新图像。如何在C++/CLI或C#中执行此操作?我还想提到,我必须通过代理IP和端口才能访问Internet(链接)。只需使用或从URL下载图像即可。然后用你想用的任何方式。两者都具有与代理相关的属性。相应地设置它们,您就可以开始了您可以实现一个保存上次刷新日期的例程,并每小时将其与当前时间进行一次比较,例如: current.subtract(l

我需要在Windows窗体应用程序中定期显示一些图像。图像的源是一个固定的URL链接。链接中的图像每天自动更新。我需要的是使我的应用程序能够每天自动刷新图像。如何在
C++/CLI
C#
中执行此操作?我还想提到,我必须通过代理IP和端口才能访问Internet(链接)。

只需使用或从URL下载图像即可。然后用你想用的任何方式。两者都具有与代理相关的属性。相应地设置它们,您就可以开始了

您可以实现一个保存上次刷新日期的例程,并每小时将其与当前时间进行一次比较,例如:

current.subtract(lastUpdated).Days > 1

假设它是一个picturebox:

private void PopulatePictureBox()
{
 ImageList images = new ImageList();
 images.Images.Add(LoadImage("http://www.website.com/123.jpg"));
 picbox.Image = imagelst.Images[0];
}
假设它是listView控件:

private void PopulateListView()
{
    ImageList images = new ImageList();
    images.Images.Add(LoadImage("http://www.website.com/123.jpg"));
    images.Images.Add(LoadImage("http://www.website.com/456.jpg"));

    listView1.SmallImageList = images;
    listView1.Items.Add("An item", 0);
    listView1.Items.Add("Another item item", 1);
}
此函数用于从web获取图像:

private Image LoadImage(string url)
{
    System.Net.WebRequest request =
        System.Net.WebRequest.Create(url);

    System.Net.WebResponse response = request.GetResponse();
    System.IO.Stream responseStream =
        response.GetResponseStream();

    Bitmap bmp = new Bitmap(responseStream);

    responseStream.Dispose();

    return bmp;
}

不确定您是否希望将图片保存到磁盘,我将把这个选项留给您。

谢谢您组织的清晰代码,但是如果我必须在访问链接之前通过代理,以及如何让它每天检查以刷新,我将使用图像框。最简单的方法是设置每天运行的计划任务,下载图像并将其保存到共享位置。然后设置
picturebox.Image=“\\san\dailymages\2012-9-12.jpg”。通过代理不重要,如果有,请告诉我们