作者party100046 (陈靖仇)
看板C_Sharp
标题[问题] 找不到档案?
时间Fri Aug 6 12:47:20 2010
最近有个问题一直想不出来,想请版上强力的大大可以帮助我^^"
我的问题是,按下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)
1F:→ u9211138:设中断点看一下 08/06 18:21
2F:→ u9211138:((ListBox)sender).SelectedItem.ToString() 的值 08/06 18:21
3F:→ u9211138:应该不是你想的那样~ 08/06 18:21
4F:推 F23ko:同楼上...... 08/06 19:00
5F:→ party100046:中断点的讯息 - 名称 'SelectedItem' 不存在於目前内 08/06 19:25
6F:→ party100046:内容中 所以是Images的位置放错吗? 08/06 19:25
7F:→ u9211138:如果不用SelectedValueChanged 08/07 16:45
8F:→ u9211138:改用SelectedIndexChanged这个事件呢? 08/07 16:46
9F:→ u9211138:直觉上你SelectedItem.ToString()应该只有回传档名而已 08/07 16:46
10F:→ u9211138:如果只有档名的话开档似乎会出问题 08/07 16:47
11F:→ u9211138:(以上为凭空想像...没有实际测试) 08/07 16:47
12F:→ party100046:後来改用SelectedIndexChanged还是一样:)" 08/08 12:25
13F:→ party100046:後来先暂时用绝对路径了:) 感谢解答 08/08 16:37