How to code for cancel button in OpenFileDialog box
14,254
Solution 1
Why not:
The else
statement avoids duplicated logic and you return an empty string, which the calling method can check
if (ofd.ShowDialog() == DialogResult.OK)
{
filename_noext = System.IO.Path.GetFileName(ofd.FileName);
path = Path.GetFullPath(ofd.FileName);
img_path.Text = filename_noext;
// MessageBox.Show(filename_noext, "Filename");
// MessageBox.Show(full_path, "path");
// move file from location to debug
string replacepath = @"E:\Debug";
string fileName = System.IO.Path.GetFileName(path);
string newpath = System.IO.Path.Combine(replacepath, fileName);
if (!System.IO.File.Exists(filename_noext))
System.IO.File.Copy(path, newpath);
}
else
{
return String.Empty;
}
Solution 2
if (ofd.ShowDialog() != DialogResult.OK)
return "";
It is not working because you should return string ! You can return null if you want and check for null too !
And in your method:
private void button4_Click(object sender, EventArgs e)
{
if(image_print() == "")
{
return;
//You can write a message here to tell the user something if you want.
}
string s = image_print() + Print_image();
PrintFactory.sendTextToLPT1(s); / sending to serial port
}
Author by
Stacy Kebler
Updated on July 23, 2022Comments
-
Stacy Kebler almost 2 years
Whenever I am canceling the OpenFileDialog box. It's giving an error path is empty. My OpenFileDialog box
Is there any way I can code for the cancel button and close button of OpenFileDialog
My codes:
private void button4_Click(object sender, EventArgs e) { string s = image_print() + Print_image(); PrintFactory.sendTextToLPT1(s); / sending to serial port } private string image_print() { OpenFileDialog ofd = new OpenFileDialog(); string path = ""; string full_path = ""; string filename_noext = ""; ofd.InitialDirectory = @"C:\ZTOOLS\FONTS"; ofd.Filter = "GRF files (*.grf)|*.grf"; ofd.FilterIndex = 2; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { filename_noext = System.IO.Path.GetFileName(ofd.FileName); path = Path.GetFullPath(ofd.FileName); img_path.Text = filename_noext; //MessageBox.Show(filename_noext, "Filename"); // MessageBox.Show(full_path, "path"); //move file from location to debug string replacepath = @"E:\Debug"; string fileName = System.IO.Path.GetFileName(path); string newpath = System.IO.Path.Combine(replacepath, fileName); if (!System.IO.File.Exists(filename_noext)) System.IO.File.Copy(path, newpath); } //tried using the below codes but not taking return statement. saying "An object of a type convertible to 'string' is required" if (ofd.ShowDialog() != DialogResult.OK) return;//---->> here its not taking return //when ever i press the cancel or close button it is going to below line. How to stop this StreamReader test2 = new StreamReader(img_path.Text); string s = test2.ReadToEnd(); return s; } private string Print_image() { //some codes that returns string value in s return s; }