質問
Visual Studio2017でWindowsFormをADO.NETを使ったデータベース(SqlServer)プログラミングででデータベースに保存した画像をVARBINARYで保存しています。
保存した画像をlistViewに表示しています。
listViewにある画像を選択して選択した画像を取得して外部アプリケーションを起動させたいです。
https://dobon.net/vb/dotnet/process/shell.htmlを参考に
private void button5_Click_1(object sender, EventArgs e) { System.Diagnostics.Process p = System.Diagnostics.Process.Start(listView1.SelectedItems); }
としました。すると
エラー CS1503 引数 1: は 'System.Windows.Forms.ListView.SelectedListViewItemCollection' から 'string' へ変換することはできません。
というエラー文が表示されて外部アプリケーションを開くことができません。
なので画像を外部アプリケーションで開く方法を教えてください。
private void button2_Click(object sender, EventArgs e) //ボタンを押すと画像と画像の名前を表示する { // ListViewの下準備 int width = 100; int height = 80; imageList1.ImageSize = new Size(width, height); listView1.LargeImageList = imageList1; imageList1.Images.Clear(); listView1.Items.Clear(); // 検索 var query = "SELECT Photoname,Photo FROM [dbo].[IMAGE] " + "WHERE GenreID IN (SELECT GenreID FROM [dbo].[GENRE] " + "WHERE Genre Like '%' + @Genre + '%')"; var command = new SqlCommand(query, conn); command.Parameters.Add(new SqlParameter("@Genre", comboBox3.Text)); var dt = new DataTable(); var adapter = new SqlDataAdapter(command); adapter.Fill(dt); // PhotoをImageオブジェクトにしてサムネイル用にサイズ調整し、 // Titkeと一緒にListViewへ追加 foreach (var row in dt.AsEnumerable()) { var Photoname = row["Photoname"].ToString(); var ms = new MemoryStream((byte[])row["Photo"]); var original = Image.FromStream(ms); var thumbnail = createThumbnail(original, width, height); imageList1.Images.Add(thumbnail); listView1.Items.Add(Photoname, dt.Rows.IndexOf(row)); original.Dispose(); thumbnail.Dispose(); } Image createThumbnail(Image image, int w, int h) { Bitmap canvas = new Bitmap(w, h); Graphics g = Graphics.FromImage(canvas); g.FillRectangle(new SolidBrush(Color.White), 0, 0, w, h); float fw = (float)w / (float)image.Width; float fh = (float)h / (float)image.Height; float scale = Math.Min(fw, fh); fw = image.Width * scale; fh = image.Height * scale; g.DrawImage(image, (w - fw) / 2, (h - fh) / 2, fw, fh); g.Dispose(); return canvas; } }
###制作物
Windows Form
###参考文献
https://dobon.net/vb/dotnet/process/shell.html
開発環境
Visual Sutaudio2017,C#,.NET Framework4.7,SQL Server Express2017,Windows10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/08 05:30
2019/12/08 05:38 編集
2019/12/08 06:32
2019/12/08 06:37
2019/12/08 07:40
2019/12/08 08:14
2019/12/08 09:58
2019/12/08 10:27
2019/12/08 11:09
2019/12/08 11:13
2019/12/08 12:15
2019/12/08 13:50
2019/12/08 15:50
2019/12/08 15:52
2019/12/08 21:30
2019/12/08 22:10
2019/12/08 23:07
2019/12/09 00:40
2019/12/09 00:53
2019/12/09 01:01
2019/12/09 08:26
2019/12/09 08:38 編集
2019/12/09 08:42
2019/12/09 08:45
2019/12/09 08:50
2019/12/09 08:55
2019/12/09 10:19 編集
2019/12/09 10:20
2019/12/09 11:03