Пример #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            //cleanup
            this.dataGridView1.Rows.Clear();
            List<Thread> threadpool = new List<Thread>();

            Dictionary<string, Dictionary<string, Dictionary<ProductInfo.ProductInfo, string>>> PlatformProductInfo =
                new Dictionary<string, Dictionary<string, Dictionary<ProductInfo.ProductInfo, string>>>();
            if (this.MomocheckBox.Checked)
            {
                SearchMomo.SearchMomo momo = new SearchMomo.SearchMomo(this.textBox1.Text, ref PlatformProductInfo);
                threadpool.Add(new Thread(momo.FindPrice));
                threadpool.Last().Start();
            }

            if (this.PchomecheckBox.Checked)
            {
                SearchPchome.SearchPchome pchome = new SearchPchome.SearchPchome(this.textBox1.Text, ref PlatformProductInfo);
                threadpool.Add(new Thread(pchome.FindPrice));
                threadpool.Last().Start();
            }

            if (this.YahoocheckBox.Checked)
            {
                SearchYahoo.SearchYahoo yahoo = new SearchYahoo.SearchYahoo(this.textBox1.Text, ref PlatformProductInfo);
                threadpool.Add(new Thread(yahoo.FindPrice));
                threadpool.Last().Start();
            }

            //wait for all thread finish
            foreach (var threads in threadpool)
            {
                while (threads.IsAlive)
                {
                    Thread.Sleep(500);
                }
            }

            //output info
            foreach (var Platform in PlatformProductInfo)
            {
                foreach (var info in Platform.Value)
                {
                    this.dataGridView1.Rows.Add(Platform.Key, info.Value[ProductInfo.ProductInfo.name], info.Value[ProductInfo.ProductInfo.price],
                        info.Value.ContainsKey(ProductInfo.ProductInfo.spec)?info.Value[ProductInfo.ProductInfo.spec]:"N/A", info.Value[ProductInfo.ProductInfo.URL]);
                }
            }

            this.dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);

            //FLASH WINDOWS
            FLASHWINFO FlashWINInfo = new FLASHWINFO();
            FlashWINInfo.cbSize = Convert.ToUInt32(Marshal.SizeOf(FlashWINInfo));
            FlashWINInfo.hwnd = Handle;
            FlashWINInfo.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG;
            FlashWINInfo.uCount = uint.MaxValue;
            FlashWINInfo.dwTimeout = 0;
            FlashWindowEx(ref FlashWINInfo);
        }
Пример #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            //cleanup
            this.dataGridView1.Rows.Clear();
            List <Thread> threadpool = new List <Thread>();

            Dictionary <string, Dictionary <string, Dictionary <ProductInfo.ProductInfo, string> > > PlatformProductInfo =
                new Dictionary <string, Dictionary <string, Dictionary <ProductInfo.ProductInfo, string> > >();

            if (this.MomocheckBox.Checked)
            {
                SearchMomo.SearchMomo momo = new SearchMomo.SearchMomo(this.textBox1.Text, ref PlatformProductInfo);
                threadpool.Add(new Thread(momo.FindPrice));
                threadpool.Last().Start();
            }

            if (this.PchomecheckBox.Checked)
            {
                SearchPchome.SearchPchome pchome = new SearchPchome.SearchPchome(this.textBox1.Text, ref PlatformProductInfo);
                threadpool.Add(new Thread(pchome.FindPrice));
                threadpool.Last().Start();
            }

            if (this.YahoocheckBox.Checked)
            {
                SearchYahoo.SearchYahoo yahoo = new SearchYahoo.SearchYahoo(this.textBox1.Text, ref PlatformProductInfo);
                threadpool.Add(new Thread(yahoo.FindPrice));
                threadpool.Last().Start();
            }

            //wait for all thread finish
            foreach (var threads in threadpool)
            {
                while (threads.IsAlive)
                {
                    Thread.Sleep(500);
                }
            }

            //output info
            foreach (var Platform in PlatformProductInfo)
            {
                foreach (var info in Platform.Value)
                {
                    this.dataGridView1.Rows.Add(Platform.Key, info.Value[ProductInfo.ProductInfo.name], info.Value[ProductInfo.ProductInfo.price],
                                                info.Value.ContainsKey(ProductInfo.ProductInfo.spec)?info.Value[ProductInfo.ProductInfo.spec]:"N/A", info.Value[ProductInfo.ProductInfo.URL]);
                }
            }

            this.dataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.DisplayedCells);

            //FLASH WINDOWS
            FLASHWINFO FlashWINInfo = new FLASHWINFO();

            FlashWINInfo.cbSize    = Convert.ToUInt32(Marshal.SizeOf(FlashWINInfo));
            FlashWINInfo.hwnd      = Handle;
            FlashWINInfo.dwFlags   = FLASHW_ALL | FLASHW_TIMERNOFG;
            FlashWINInfo.uCount    = uint.MaxValue;
            FlashWINInfo.dwTimeout = 0;
            FlashWindowEx(ref FlashWINInfo);
        }