コード例 #1
0
 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();
         }
     }
 }
コード例 #2
0
        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)
                {
                }
            }
        }