protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); for (int i = 0; i < Items.Count; i++) { VMovieData item = Items[i]; if (item.ClientRect.Contains(e.Location)) { item.IsHover = true; selectData = item; this.Cursor = Cursors.Hand; item.Enter(); //base.Invalidate(item.ClientRect); } else if (selectData != null && !selectData.ClientRect.Contains(e.Location)) { selectData.IsHover = false; selectData.IsDown = false; this.Cursor = Cursors.Default; selectData.Leavel(); } else { item.IsHover = false; item.Leavel(); } } }
public void ProcessingData(object obj) { using ( var ludown = new WebClient { Encoding = Encoding.UTF8, Proxy = null }) { ludown.DownloadStringAsync(new Uri(IsTestVodConfigPath)); ludown.DownloadStringCompleted += Ludown_DownloadStringCompleted; } panel.Items.Clear(); List<MovieData> data = null; HttpWebRequest request = null; StreamReader reader = null; try { request = WebRequest.Create("http://api.kcplayer.com:7383/watching/getdata?s=0&e=100&filter=" + obj.ToString()) as HttpWebRequest; //request.Proxy = null; request.Headers.Add("KCApp", "True"); Stream stream = request.GetResponse().GetResponseStream(); reader = new StreamReader(stream); data = new List<MovieData>(); data = JsonMapper.ToObject<List<MovieData>>(reader.ReadToEnd()); } catch (Exception ex) { } if (data != null) { foreach (MovieData item in data) { VMovieData vdata = new VMovieData(panel) { Gcid = item.Gcid, Url = item.Url }; vdata.Click += vdata_Click; panel.Items.Add(vdata); ThreadPool.QueueUserWorkItem(new WaitCallback(delegate(object obj2) { try { request = WebRequest.Create("http://i.vod.xunlei.com/req_screenshot?req_list=" + item.Gcid) as HttpWebRequest; request.Proxy = null; reader = new StreamReader(request.GetResponse().GetResponseStream()); JsonData datas = JsonMapper.ToObject(reader.ReadToEnd())["resp"]["screenshot_list"]; JsonData idata = datas[0]; if (idata.Count > 1) { WebClient client = new WebClient(); client.Proxy = null; client.DownloadDataAsync(new Uri(idata["bigshot_url"].ToString()), vdata); client.DownloadDataCompleted += client_DownloadDataCompleted; } } catch (Exception) { } })); } reader.Close(); try { panel.Invoke(new MethodInvoker(delegate() { panel.Invalidate(); })); } catch (Exception) { } } }