「C Sharpの基礎 - ダイアログ」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
編集の要約なし
6行目: 6行目:
ファイル保存ダイアログ(<code>SaveFileDialog</code>クラス)は、ファイル参照する機能を持つダイアログである。<br>
ファイル保存ダイアログ(<code>SaveFileDialog</code>クラス)は、ファイル参照する機能を持つダイアログである。<br>
<code>System.Windows.Forms.FileDialog</code>クラスの派生クラスであり、ファイルを保存する操作に必要なプロパティが存在する。<br>
<code>System.Windows.Forms.FileDialog</code>クラスの派生クラスであり、ファイルを保存する操作に必要なプロパティが存在する。<br>
ユーザに保存するファイルのパスを選択させるには、ファイル保存ダイアログ(<code>SaveFileDialog</code>クラス)を使用する。<br><br>
ユーザに保存するファイルのパスを選択させるには、ファイル保存ダイアログ(<code>SaveFileDialog</code>クラス)を使用する。<br>
<br>
フォルダ選択ダイアログ(<code>FolderBrowserDialog</code>クラス)は、<code>System.Windows.Forms.CommonDialog</code>クラスの派生クラスである。<br>
ファイル選択ダイアログと比較すると、設定するプロパティは少ない。<br>
ユーザにフォルダのパスを選択させるには、フォルダ選択ダイアログを使用する。<br>
<br><br>
<br><br>


281行目: 285行目:
           // 選択されたファイル名(ファイルパス)をテキストボックスに設定
           // 選択されたファイル名(ファイルパス)をテキストボックスに設定
           this.textBox1.Text = saveFileDialog.FileName;
           this.textBox1.Text = saveFileDialog.FileName;
      }
    }
    catch (Exception ex)
    {
      MessageBox.Show(ex.Message);
    }
}
</syntaxhighlight>
<br><br>
== フォルダ選択ダイアログ ==
==== FolderBrowserDialogクラスの主なプロパティ ====
下表に、フォルダ選択ダイアログ(<code>FolderBrowserDialog</code>クラス)のプロパティのうち、設定が必要な主なプロパティを示す。<br>
<br>
<center>
表. フォルダ選択ダイアログ(<code>FolderBrowserDialog</code>クラス)の主なプロパティ<br>
{| class="wikitable" style="background-color:#fefefe;"
|-
! style="background-color:#00ffff;" | プロパティ名
! style="background-color:#00ffff;" | データ型
! style="background-color:#00ffff;" | 意味
|-
| Description || string || ダイアログのフォルダツリービューの上部に表示する説明文を設定する。
|-
| RootFolder || System.Environment.SpecialFolder || ダイアログのフォルダツリービューのルートノード(先頭のノード)として設定するフォルダを、<br>SpecialFolder列挙体で設定する。
|-
| SelectedPath || string ||
|-
| ShowNewFolderButton || bool || 新しいフォルダを作成するボタンを表示するかどうかを設定する。<br>表示する場合はtrue、表示しない場合はfalseを指定する。(既定値 : true)
|}
</center>
<br>
フォルダ選択ダイアログで、既定値でよい(設定が不要)と思われるプロパティは、以下の1種類である。<br>
新規フォルダの作成ボタンが存在する方が、ユーザに対して親切であるため、既定値でよい。<br>
* ShowNewFolderButton
<br>
==== サンプルコード ====
<syntaxhighlight lang="c#">
/// <summary>
/// ボタンがクリックされたときのイベント処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    try
    {
      // テキストボックスからフォルダパスを取得
      string folderPath = this.textBox1.Text;
      // FolderBrowserDialogクラスのインスタンスを生成
      using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
      {
          // 説明文を設定(3行まで表示可能)
          folderBrowserDialog.Description = "フォルダを選択してください。";
          // ユーザが参照可能なフォルダを限定(特定のフォルダとそのサブフォルダのみ選択可能)
          folderBrowserDialog.RootFolder = System.Environment.SpecialFolder.MyComputer;
          // テキストボックスにフォルダパスが設定されている場合は選択する
          if (folderPath != string.Empty)
          {
            folderBrowserDialog.SelectedPath = folderPath;
          }
          // ダイアログを表示
          DialogResult dialogResult = folderBrowserDialog.ShowDialog();
          if (dialogResult == DialogResult.Cancel)
          {  // キャンセルされたので終了
            return;
          }
          // 選択されたフォルダパスをテキストボックスに設定
          this.textBox1.Text = folderBrowserDialog.SelectedPath;
       }
       }
     }
     }

案内メニュー