在我的C#应用程序中,我想在下面的场景中删除文件。
OpenFileDialog并选择任何.jpg文件。
在PictureBox中显示该文件。
如果需要,请删除该文件。
我在尝试执行第3步时已尝试在删除之前将默认图像设置为PictureBox,但这不起作用。
如何删除文件?请建议我。
// Code for select file.
private void btnSelet_Click(object sender, EventArgs e)
{
if (DialogResult.OK == openFileDialog1.ShowDialog())
{
txtFileName.Text = openFileDialog1.FileName;
myPictureBox.Image = Image.FromFile(openFileDialog1.FileName);
}
}
// Code for Delete file
private void btnDelete_Click(object sender, EventArgs e)
{
try
{
//myPictureBox.Image = Image.FromFile(System.IO.Directory.GetCurrentDirectory() + @"\Images\defaultImage.jpg");
System.IO.File.Delete(txtFileName.Text);
MessageBox.Show("File Delete Sucessfully");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
答案 0 :(得分:3)
替换图像听起来是个好主意 - 但不要忘记丢弃仍然保持文件打开的旧版Image
(默认情况下将会丢弃 {{} 1}}是垃圾收集 - 在未来的某个未知时间):
Image
(也可能直接private void btnDelete_Click(object sender, EventArgs e)
{
try
{
var old = myPictureBox.Image;
myPictureBox.Image = Image.FromFile(System.IO.Directory.GetCurrentDirectory() + @"\Images\defaultImage.jpg");
old.Dispose();
System.IO.File.Delete(txtFileName.Text);
MessageBox.Show("File Delete Sucessfully");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
的{{1}}而不替换Dispose
的图片 - 这取决于您删除后还要做的其他事情 - 例如,如果出现Image
的表格正在关闭,您可能希望先让它发生,然后直接处理图像。“