コード例 #1
0
        void RefreshListView()
        {
            var query = TileRepository.GetTiles(textBox1.Text).AsQueryable();

            if (comboBox1.SelectedItem != null)
            {
                query = query.Where(p => p.Name.Split('/')[0] == comboBox1.SelectedItem.ToString());
            }
            else if (!string.IsNullOrWhiteSpace(comboBox1.SelectedText))
            {
                query = query.Where(p => p.Name.Split('/')[0].IndexOf(comboBox1.SelectedText, StringComparison.OrdinalIgnoreCase) >= 0);
            }

            new Thread(new ThreadStart(() =>
            {
                this.Invoke((MethodInvoker)(() =>
                {
                    tilesListView.Clear();
                    imageList1.Images.Clear();

                    foreach (var tile in query.ToList())
                    {
                        imageList1.Images.Add(tile.Name, Image.FromStream(tile.Texture));
                        tilesListView.Items.Add(Path.GetFileNameWithoutExtension(tile.Name), tile.Name);
                    }
                }));
            })).Start();
        }
コード例 #2
0
        public ActionResult Index()
        {
            var repos = new TileRepository();

            ViewData["tiles"] = repos.GetTiles();
            return(View());
        }
コード例 #3
0
        public ActionResult SignalAll()
        {
            var repos = new TileRepository();

            foreach (var tile in repos.GetTiles())
            {
                tile.Signal.FireChanged();
            }

            return(RedirectToAction("index"));
        }