private void btnChangeGraphic_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count == 0 && listView2.SelectedItems.Count == 0) { return; } ListView selectedListView = tabControl1.SelectedIndex == 0 ? listView1 : listView2; OpenFileDialog od = new OpenFileDialog(); od.Filter = "Graphic files|*.*"; od.Title = "Select a graphic"; od.ShowDialog(); if (od.FileName == "") { return; } TileType type = selectedListView == listView1 ? TileType.Graphic : TileType.Special; int index = selectedListView == listView1?Tiles.CorrectedTileIndex <GraphicTile>(selectedListView.SelectedIndices[0]) : Tiles.CorrectedTileIndex <SpecialTile>(selectedListView.SelectedIndices[0]); int actualIndex = selectedListView.SelectedIndices[0]; Image newImage = Image.FromFile(od.FileName); Tiles.Images.Images[index] = newImage; selectedListView.RefreshContents(Tiles, type); selectedListView.SelectedIndices.Clear(); selectedListView.SelectedIndices.Add(actualIndex); }
private void listView2_SelectedIndexChanged(object sender, EventArgs e) { if (listView2.SelectedIndices.Count == 0) { tilePreview.Image = new Bitmap(1, 1); btnUp.Enabled = false; btnDown.Enabled = false; btnRemoveTile.Enabled = false; btnChangeGraphic.Enabled = false; } else if (listView2.LargeImageList != null) { tilePreview.Image = listView1.LargeImageList.Images[Tiles.CorrectedTileIndex <SpecialTile>(listView2.SelectedIndices[0])]; if (listView2.SelectedIndices[0] > 0) { btnUp.Enabled = true; } if (listView2.SelectedIndices[0] < listView2.Items.Count - 1) { btnDown.Enabled = true; } btnRemoveTile.Enabled = listView2.Items.Count > 1; btnChangeGraphic.Enabled = true; } }