質問

OpenFileDialogを使用して、プログラムと同じディレクトリにあり、より深いフォルダーにあるファイルとフォルダーを選択できるようにする必要があるソフトウェアを作成しています。 OpenFileDialogがプログラムの現在のディレクトリ以外のものを選択できるようにしたくありません。 OpenFileDialogを使用してC#でこれを行うことは可能ですか?

お知らせください

ありがとう

役に立ちましたか?

解決

選択後にパスが正しいかどうかを確認できます

単にメッセージを受け入れるか送信する場合は、別のディレクトリを選択するように伝えます

他のヒント

OpenFileDialogコントロールによるすぐに使用できるサポートはありません。ただし、次のことを試すことができます

InitialDirectoryプロパティをプログラムパスに設定します。次に、ユーザーがプログラムパス以外の特定のパスを選択した場合、FileOkイベントを使用してこれを確認し、InitialDirectoryに戻します。

より多くの制御が必要な場合は、カスタムダイアログを作成する必要があります。

これは私がやった方法です。

   openFileDialog1.InitialDirectory = Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName");

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {            
                while(Path.GetDirectoryName(openFileDialog1.FileName) != Path.Combine(Path.GetDirectoryName(Application.StartupPath), "FolderName")){

                    MessageBox.Show("Please select .EXE which is in the default folder", "Wrong folder", MessageBoxButtons.OK, MessageBoxIcon.Information);
                openFileDialog1.ShowDialog();

            }                       
        }

できません。ほとんどの人は、このシナリオ用に独自のカスタムダイアログを作成しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top