0

私はフォームに取り組んでいます。ボタンをクリックすると小さなウィンドウがポップアップし、さまざまなフォルダから選択した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());
    }
}

次のコードを使用してみましたが、ボタンをクリックしてもウィンドウがポップアップしません。私は自分が犯した間違いを理解していません。

それの問題は何ですか?

ありがとう!

4

2 に答える 2

4

コンソールアプリからファイルダイアログを開くことはできません。シングルスレッドアパートメント(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);  
}
于 2010-10-10T09:02:20.627 に答える
2

コンソールアプリでファイルfialogを開くことはできません。

あなたは私がボタンを持っていると言うので、これはWinアプリでなければなりません、使用してください

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

       }
于 2010-10-10T09:02:17.053 に答える