user2357446
user2357446

Reputation: 676

OpenFileDialog only select file path

I am trying to use a OpenFileDialog to let the user select a local file that can interact with my app. The file can be in use when the user selects it as I really only want to get the file's path. My issue is that if I try doing this with a OpenFileDialog, when the user presses "open", it actually tries to open the file even though I don't call for opening anywhere. Since the file is in use, it throws an error.

Is there any way for me to present a dialog for a user to just select a file an do nothing else?

Heres my current code:

        DialogResult result = this.qbFilePicker.ShowDialog();
        if (result == DialogResult.OK)
        {
            string fileName = this.qbFilePicker.FileName;
            Console.WriteLine(fileName);
        }

Upvotes: 2

Views: 2312

Answers (1)

Louie Bacaj
Louie Bacaj

Reputation: 1417

Make sure you are using

using System.Windows.Forms;

Then the following code from MSDN will not open your file unless you explicitly uncomment the bit that opens the file :)

(Take out the bits that don't pertain to you such as the .txt filter etc)

 private void Button_Click(object sender, RoutedEventArgs e)
 {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

        openFileDialog1.InitialDirectory = "c:\\";
        openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
        openFileDialog1.FilterIndex = 2;
        openFileDialog1.RestoreDirectory = true;

        if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            string fileName = openFileDialog1.FileName;
            Console.WriteLine(fileName);

            //to open the file
            /*
            try
            {
                Stream myStream = null;
                if ((myStream = openFileDialog1.OpenFile()) != null)
                {
                    using (myStream)
                    {
                        // Insert code to read the stream here.
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
            }
             * */
        }
}

Upvotes: 1

Related Questions