■28834 / inTopicNo.7) |
Re[3]: コンボボックス |
□投稿者/ 魔界の仮面弁士 (917回)-(2008/12/01(Mon) 23:21:34)
|
■No28829 (外郎 さん) に返信 >>>> DisplayMember と ValueMember を使い分けて、見た目にはファイル名だけ表示しつつ、裏ではフルパスを保持 >>> の実装例を教えていただくわけにはいかないでしょうか? >> 2列の値を持つコンボボックス[コード+値] >> http://www.bnote.net/vb/2col_combobox.shtml > イマイチ理解できませんでした。 > 簡潔で構いませんので、使用例を示していただくわけにはいかないでしょうか?
C# に書き換えてみました。これで分かりますか?
// -------------------------------------------
using FileItem = System.Collections.Generic.KeyValuePair<string, string>;
// ------------------------------------------- private void Form1_Load(object sender, EventArgs e) { comboBox1.DisplayMember = "Value"; comboBox1.ValueMember = "Key";
// ここではサンプルなので、固定的なパスを書いていますが // 実際には、FolderBrowserDialog のディレクトリから // 列挙した画像のパスを入れる事になるでしょう。 List<FileItem> list = new List<FileItem>(); list.Add(new FileItem(@"C:\Windows\シャボン.bmp", "シャボン.bmp")); list.Add(new FileItem(@"C:\Windows\珈琲カップ.bmp", "珈琲カップ.bmp")); list.Add(new FileItem(@"C:\Windows\隅田川.bmp", "隅田川.bmp"));
comboBox1.DataSource = list.ToArray(); }
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { // 実際には、ここが PictureBox への画像処理になるはず。 label1.Text = comboBox1.SelectedValue.ToString(); }
|
|