在表单中打开、选择并添加一个.jpg文件
本文关键字:一个 文件 jpg 添加 表单 选择 | 更新日期: 2023-09-27 18:04:53
如何在c#中从计算机的任何目录中打开,选择和添加一个只有jpeg格式的文件?代码如下:
private void open2ToolStripMenuItem_Click(object sender, EventArgs e)
{
pictureBox1.Visible = true;
string Chosen_File = "";
Chosen_File = openFileDialog1.FileName;
openFileDialog1.Title = "Insert an image";
openFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog1.FileName ="";
openFileDialog1.Filter = "JPEG Images|*.jpg|GIF Images|*.gif|All Files|";
openFileDialog1.ShowDialog();
if (openFileDialog1.ShowDialog() != DialogResult.Cancel)
{
Chosen_File = openFileDialog1.FileName;
pictureBox1.Image = Image.FromFile(Chosen_File);
}
}
删除第一个openFileDialog1.ShowDialog()
private void button1_Click(object sender, EventArgs e)
{
pictureBox1.Visible = true;
string Chosen_File = "";
Chosen_File = openFileDialog1.FileName;
openFileDialog1.Title = "Insert an image";
openFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog1.FileName = "";
openFileDialog1.Filter = "JPEG Images|*.jpg|GIF Images|*.gif|All Files|";
//openFileDialog1.ShowDialog();
if (openFileDialog1.ShowDialog() != DialogResult.Cancel)
{
Chosen_File = openFileDialog1.FileName;
pictureBox1.Image = Image.FromFile(Chosen_File);
}
}
除此之外,你的代码工作得很好!
你只有一个openFileDialog1.ShowDialog();
。删除第一个,只使用if
子句中的那个!if
子句在显示对话框后使用结果。我也更喜欢显式检查DialogResult.OK
,但这不应该有什么区别。
你的代码显示对话框窗口两次,不是吗?(确实如此!)如果您选择要在第一个对话框中显示的图像,您将获得第二次对话框,然后也必须在那里确定它。如果取消第二个对话框,将不会显示任何内容。
结果,即用户的选择只能直接从Show()返回;如果你不在那里抓住它,它就会丢失!这与选项的内容不同,对话框的字段(例如文件名)都在后面。