OpenfileDialog - 窗口没有弹出

时间:2010-10-10 08:59:29

标签: c# .net winforms openfiledialog

我正在撰写表格。我想点击按钮弹出小窗口,然后从各种文件夹中选择我选择的XML文件。

我想,这个OpenFileDialog会帮助我。

private void button3_Click(object sender, EventArgs e)
{
   /
    OpenFileDialog OpenFileDialog1 = new OpenFileDialog();

    openFileDialog1.Filter = " XML Files|*.xml";

    openFileDialog1.InitialDirectory = @"D:\";



    if (OpenFileDialog1.ShowDialog() == DialogResult.OK)
    {
        MessageBox.Show(filed.FileName.ToString());
    }
}

我尝试使用以下代码,但是当我点击按钮时,窗口不会弹出。 我不知道自己犯了什么错误。

有什么问题?

谢谢!

2 个答案:

答案 0 :(得分:4)

您无法从控制台应用程序open获取文件对话框。您必须使用single thread apartment(STA)的某些设置来解决此问题。

[STAThread]
static void Main(string[] args)
{
            MessageBox.Show("Test");
}

<强> - 编辑 -

以下针对点击事件:

OpenFileDialog f = new OpenFileDialog();
f.Filter = "XML Files|*.xml";
f.InitialDirectory = "D:\\"; 
if(f.ShowDialog() == DialogResult.OK)
{
    MessageBox.Show(f.FileName);  
}

答案 1 :(得分:2)

您无法在控制台应用中打开文件对话框。

你说我有按钮,所以这必须是Win app,使用

openFileDialog1.ShowDialog();缺少

private void button3_Click(object sender, EventArgs e)
        {
           OpenFileDialog OpenFileDialog1 = new OpenFileDialog();

            openFileDialog1.Filter = " XML Files|*.xml";

            openFileDialog1.InitialDirectory = @"D:\";

            openFileDialog1.ShowDialog();

            // Get file name and use OpenFileDialog1.FileName or something like that

       }