[問題] 找不到檔案?

看板C_Sharp作者 (陳靖仇)時間15年前 (2010/08/06 12:47), 編輯推噓1(1012)
留言13則, 3人參與, 最新討論串1/1
最近有個問題一直想不出來,想請版上強力的大大可以幫助我^^" 我的問題是,按下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)

08/06 18:21, , 1F
設中斷點看一下
08/06 18:21, 1F

08/06 18:21, , 2F
((ListBox)sender).SelectedItem.ToString() 的值
08/06 18:21, 2F

08/06 18:21, , 3F
應該不是你想的那樣~
08/06 18:21, 3F

08/06 19:00, , 4F
同樓上......
08/06 19:00, 4F

08/06 19:25, , 5F
中斷點的訊息 - 名稱 'SelectedItem' 不存在於目前內
08/06 19:25, 5F

08/06 19:25, , 6F
內容中 所以是Images的位置放錯嗎?
08/06 19:25, 6F

08/07 16:45, , 7F
如果不用SelectedValueChanged
08/07 16:45, 7F

08/07 16:46, , 8F
改用SelectedIndexChanged這個事件呢?
08/07 16:46, 8F

08/07 16:46, , 9F
直覺上你SelectedItem.ToString()應該只有回傳檔名而已
08/07 16:46, 9F

08/07 16:47, , 10F
如果只有檔名的話開檔似乎會出問題
08/07 16:47, 10F

08/07 16:47, , 11F
(以上為憑空想像...沒有實際測試)
08/07 16:47, 11F

08/08 12:25, , 12F
後來改用SelectedIndexChanged還是一樣:)"
08/08 12:25, 12F

08/08 16:37, , 13F
後來先暫時用絕對路徑了:) 感謝解答
08/08 16:37, 13F
文章代碼(AID): #1CMvFS71 (C_Sharp)