public AlbumView(string album) { InitializeComponent(); // Initialize myListView. PhotoList.Dock = DockStyle.Fill; PhotoList.View = View.Tile; // Initialize the tile size. PhotoList.TileSize = new Size(200, 100); // Initialize the item icons. ImageList = new ImageList(); if (album == "PreImportedPhotos") { var root = Application.StartupPath; var preImported = Path.Combine(root, "PreImportedPhotos"); var images = Directory.EnumerateFiles(preImported).ToList(); foreach (var image in images) { var renFace = Image.FromFile(image); ImageList.Images.Add(renFace); PhotoList.Items.Add(new ListViewItem(new[] { Path.GetFileName(image) }, PhotoList.Items.Count)); } ImageList.ImageSize = new Size(100, 100); PhotoList.LargeImageList = ImageList; // Add column headers so the subitems will appear. PhotoList.Columns.AddRange(new[] { new ColumnHeader() }); } var albumID = -1; DBRequests.MakeRequest(DBRequests.GetAlbumIndex(album), (connection, command) => { using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { albumID = reader.GetInt32(0); } } } }); DBRequests.MakeRequest(DBRequests.GetPhotos(albumID), (connection, command) => { using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { _photos.Add(new Photo { ID = reader.GetInt32(0), Name = reader.GetString(1), Owner = reader.GetInt32(2), Desc = reader.GetString(3), Tags = reader.GetString(4), Category = reader.GetInt32(5), Album = reader.GetInt32(6), Format = reader.GetString(7), Resolution = reader.GetString(8), CreationDate = reader.GetDateTime(9).ToLongDateString(), Size = reader.GetInt32(10), PhotoData = reader.GetValue(11) as byte[] }); } } } }); foreach (var image in _photos) { var renFace = ImageFromByteArray(image.PhotoData); ImageList.Images.Add(renFace); PhotoList.Items.Add(new ListViewItem(new[] { image.Name }, PhotoList.Items.Count)); } ImageList.ImageSize = new Size(100, 100); PhotoList.LargeImageList = ImageList; // Add column headers so the subitems will appear. PhotoList.Columns.AddRange(new[] { new ColumnHeader() }); }