【发布时间】:2011-11-15 06:23:45
【问题描述】:
我有这样的代码:
private void Load_Button_Click(object sender, EventArgs e)
{
OpenFileDialog dialog = new OpenFileDialog();
if (dialog.ShowDialog()==DialogResult.OK){
MessageBox.Show(dialog.FileName,"My Application", MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
string s;
s=".bmp";
if (dialog.FileName.Substring(dialog.FileName.LastIndexOf('.')).Equals(s))
{
picBox_1.Load(dialog.FileName);
BitmapFile = new Bitmap(dialog.FileName.ToString());
}
else {
MessageBox.Show("Not a BMP file!");
}
}
}
所以,加载图像。并有一个错误:
private void Save_Button_Click(object sender, EventArgs e)
{
SaveFileDialog dialog = new SaveFileDialog();
try
{
if (picBox_1.Image != null)
{
if (dialog.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(dialog.FileName, "My Application", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
string s;
s = ".bmp";
if (dialog.FileName.Substring(dialog.FileName.LastIndexOf('.')).Equals(s))
{
picBox_1.Image.Save(dialog.FileName.ToString());
//BitmapFile.Dispose();
}
else
{
MessageBox.Show("Not a BMP file!");
}
}
}
else
{
MessageBox.Show("My PicBox is empty!");
}
}
catch (Exception) { MessageBox.Show("Cannot save file, error!"); }
}
这是一般的 GDI 错误。我想,我无法写入文件(可能没有足够的权限)。我该如何改善这个错误?
【问题讨论】:
-
你得到的错误是什么?而且您不必假设任何事情,只需使用
catch (Exception saveEx) { MessageBox.Show(saveEx.Message); }。那个异常不是带有一个可以提供更多细节的内部异常吗? -
你不是要覆盖源文件,是吗?
-
请通过改进此错误帮助消除混乱,您的意思是更正此错误,如让它消失吗? 我不知道任何人如何将改进此错误解释为如何查看此错误或如何改进此错误的处理,但你在那里,有些是。
-
什么和哪里确切是错误?
-
我改进了,在加载函数中使用这个:
picBox_1.Image=Image.FromFile(dialog.FileName);
标签: c# image gdi picturebox