看板 C_Sharp 關於我們 聯絡資訊
最近有個問題一直想不出來,想請版上強力的大大可以幫助我^^" 我的問題是,按下listbox裡面的item之後,我的picturebox會顯示出我所按下的檔案 但是我按下listbox的檔案之後,一直出現FileNotFoundException的例外 後來有爬文但還是搞不太懂,應該是相對路徑的問題。 程式碼: private void button2_Click(object sender, EventArgs e) { OpenFileDialog ddDialog = new OpenFileDialog(); string assemblyLocation = Assembly.GetExecutingAssembly().Location; string dd_relativePath = Path.Combine(assemblyLocation, "../../../../Images"); string contentPath = Path.GetFileName(dd_relativePath); ddDialog.InitialDirectory = contentPath; ddDialog.Title = "pic_load"; ddDialog.Filter = "Picture Files (*.bmp;*.jpg)|*.bmp;*.jpg|" + "BMP Files (*.bmp)|*.bmp|" + "JPG Files (*.jpg)|*.jpg|" + "All Files (*.*)|*.*"; if (ddDialog.ShowDialog() == DialogResult.OK) { pictureBox1.Image = Image.FromFile(ddDialog.FileName); pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; listBox2.Items.Add(Path.GetFileName(ddDialog.FileName)); System.IO.Path.GetFileName(ddDialog.FileName); } } private void listBox2_SelectedValueChanged(object sender, EventArgs e) { pictureBox1.Image = Image.FromFile(((ListBox)sender).SelectedItem.ToString()); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } 上面這段程式碼會出現FileNotFoundException的例外。 如果是相對路徑的問題,那是我所指定的位置出錯嗎? "../../../../Images" ← ../ 與 ./ 的差別在那? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.77.217 ※ 編輯: party100046 來自: 123.204.77.217 (08/06 12:48) ※ 編輯: party100046 來自: 123.204.77.217 (08/06 14:08)
u9211138:設中斷點看一下 08/06 18:21
u9211138:((ListBox)sender).SelectedItem.ToString() 的值 08/06 18:21
u9211138:應該不是你想的那樣~ 08/06 18:21
F23ko:同樓上...... 08/06 19:00
party100046:中斷點的訊息 - 名稱 'SelectedItem' 不存在於目前內 08/06 19:25
party100046:內容中 所以是Images的位置放錯嗎? 08/06 19:25
u9211138:如果不用SelectedValueChanged 08/07 16:45
u9211138:改用SelectedIndexChanged這個事件呢? 08/07 16:46
u9211138:直覺上你SelectedItem.ToString()應該只有回傳檔名而已 08/07 16:46
u9211138:如果只有檔名的話開檔似乎會出問題 08/07 16:47
u9211138:(以上為憑空想像...沒有實際測試) 08/07 16:47
party100046:後來改用SelectedIndexChanged還是一樣:)" 08/08 12:25
party100046:後來先暫時用絕對路徑了:) 感謝解答 08/08 16:37