小编dez*_*kev的帖子

无法将System.String转换为System.Uri

我正在使用Web客户端类从Internet下载文件(实际上是Flickr).只要我使用这个就可以正常工作:WebClient().DownloadData(string) 但是这会锁定UI,因为它不是异步的.

但是,当我尝试时WebClient().DownloadDatAsync(string),我得到一个编译错误:"无法将System.String转换为System.Uri".

字符串MediumUrl返回 "http://farm4.static.flickr.com/2232/2232/someimage.jpg"

所以问题是如何将字符串转换"http://farm4.static.flickr.com/2232/2232/someimage.jpg"为Uri.

我尝试过的事情 -

  1. 我试图将它投射到Uri,但这也不起作用.
  2. 我试过了Uri myuri = new uri(string)- 如上所述的错误.

    foreach (Photo photo in allphotos)  
    {  
        //Console.WriteLine(String.Format("photo title is :{0}", photo.Title));
        objimage = new MemoryStream(wc.DownloadData(photo.MediumUrl));
        images.Add(new Pictures(new Bitmap(objimage), photo.MediumUrl, photo.Title));  
    }
    
    Run Code Online (Sandbox Code Playgroud)

c# flickr

13
推荐指数
4
解决办法
7万
查看次数

用参数调用eventhandler

Visual Studio 2008,C#3.0.

我有一个调用事件处理程序的方法.我想将方法​​接收的两个参数传递给事件处理程序.

我想做这样的事情:

wc.DownloadDataCompleted += wc.DownloadedDataCompleted(strtitle, placeid);
Run Code Online (Sandbox Code Playgroud)

这是否可能,如果是的话,我该怎么做呢?

代码片段:

public void downloadphoto(string struri,string strtitle,string placeid)
{
    using (WebClient wc = new WebClient())
    {
        wc.DownloadDataCompleted += wc_DownloadDataCompleted;
        wc.DownloadDataAsync(new Uri(struri));
    }
}
Run Code Online (Sandbox Code Playgroud)

c# events handlers

12
推荐指数
2
解决办法
2万
查看次数

在绘制对象时Winform不滚动

C#3.0,.net framework 3.5我正在绘制(使用图形类中的draw方法)窗口上的许多实心矩形垂直构造.表格从500 x 500像素开始,矩形只在运行时从网络下载数据后绘制 - 矩形的数量取决于下载,所以我不知道它是在前面.

因此,只有几个矩形被绘制,因为窗体的大小是固定的.所以我用google搜索/ Binged(以免有人建议我这样做)并找到一些提示,但它们在这种情况下不起作用 - 比如将表单AutoScroll属性设置为true或尝试双缓冲.我也试图在列表框控件上绘图并设置它的滚动属性等...但没有骰子.

我猜测没有办法显示,在窗体上使用绘图垂直地说200个矩形.我需要一些其他的解决方案......请任何想法.

也许是一个图片盒列表,然后用纯色填充每个图片框?

谢谢

c# drawing scroll winforms

0
推荐指数
1
解决办法
2941
查看次数

标签 统计

c# ×3

drawing ×1

events ×1

flickr ×1

handlers ×1

scroll ×1

winforms ×1