[C#][Windows Formsアプリ][OpenFileDialog] CheckPathExists プロパティでパスの存在確認を有効にする

スポンサーリンク

はじめに

Windows Forms アプリケーションで OpenFileDialog を使用する際、ユーザーが指定したパス (ディレクトリ) が実際に存在するかどうかを確認したい場合があります。そんな時に役立つのが CheckPathExists プロパティです。この記事では、OpenFileDialog の CheckPathExists プロパティについて、初心者の方にもわかりやすく解説します。CheckPathExists プロパティを使うことで、ファイル選択時にパスの存在を確認し、存在しない場合はエラーメッセージを表示することができます。具体的なコード例を交えながら、その使い方を見ていきましょう。

CheckPathExists プロパティとは?

CheckPathExists プロパティは、OpenFileDialog がユーザーによって入力または選択されたパス (ディレクトリ) が存在するかどうかをチェックするかどうかを指定するプロパティです。

  • true
    OpenFileDialog は、ユーザーが入力または選択したパスが存在するかどうかをチェックし、存在しない場合はエラーメッセージを表示します。
  • false (既定値)
    パスの存在チェックを行いません。

CheckPathExists プロパティの使い方 (コード例)

CheckPathExists を有効にする

CheckPathExists プロパティを true に設定することで、パスが存在するかどうかをチェックするように設定できます。

using System;
using System.Windows.Forms;

namespace OpenFileDialogSample
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }

        private void openButton_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Title = "ファイルを開く";
            openFileDialog.Filter = "テキストファイル(*.txt)|*.txt|すべてのファイル(*.*)|*.*";
            openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            // CheckPathExists を有効にする
            openFileDialog.CheckPathExists = true;

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                string filePath = openFileDialog.FileName;
                MessageBox.Show("選択されたファイル: " + filePath);
            }
        }
    }
}

解説:

  • openFileDialog.CheckPathExists = true;
    CheckPathExists プロパティを true に設定することで、ユーザーがファイルを選択または入力した際に、そのファイルのパスが存在するかどうかがチェックされます。パスが存在しない場合は、エラーメッセージが表示され、ダイアログは閉じません。
実行例

実行例

まとめ

OpenFileDialog の CheckPathExists プロパティは、ユーザーが指定したパスが実際に存在するかどうかを確認し、存在しない場合にエラーメッセージを表示するための便利なプロパティです。この記事で紹介したコード例を参考に、CheckPathExists プロパティを効果的に活用し、より堅牢な Windows Forms アプリケーションを作成してください。

Please follow and like us:

コメント

タイトルとURLをコピーしました