Programming Style

メニュー

初心者がアプリ開発者になるためのプログラミング学習サイト

[Windows] 「開く」機能を実装する

windows-open-common-dialog-00

ここでは、「開く」メニューの機能として「開く」コモンダイアログを表示する機能を実装します。

 

広 告

 

目次

前提条件

動作確認環境

  • Windows10 64bit
  • Visual Studio Express 2015 for Windows Desktop

1. 「開く」機能を実装する

 

ここでは、「開く」メニューをクリックした時に「開く」コモンダイアログ(共通ダイアログ)を表示する方法について説明します。

まずはデザイン画面を表示します。

 

windows-open-common-dialog-01

ツールボックスウィンドウから「ダイアログ」→「OpenFileDialog」を選択し、デザインウィンドウのフォーム上にドラッグ&ドロップします。

 

 

windows-open-common-dialog-02

ダイアログのNameプロパティを「OpenFileDialog」に変更します。

 

次に、「開く」メニューをクリック時にコモンダイアログを表示する機能を実装します。

 

 

windows-open-common-dialog-03

デザインウィンドウで「開く」メニューをダブルクリックすると、コードエディタが表示されMenuItemFileOpen_Click()メソッドが追加されます。このメソッドは「開く」メニューをクリックしたときに実行されるメソッドです。

 

開く」コモンダイアログを表示するためのコードは以下のとおりです。

「開く」コモンダイアログを表示する

private void MenuItemFileOpen_Click(object sender, EventArgs e) {
    OpenFileDialog.FileName = "";
    OpenFileDialog.ShowDialog();
    LoadFile(OpenFileDialog.FileName);
}

private void LoadFile(string value) {
    textBox.Text = System.IO.File.ReadAllText(
            value, Encoding.GetEncoding("Shift_JIS"));
}

 

コードについて1行ずつ説明してきます。

ファイル名を空白にする

OpenFileDialog.FileName = "";

開く」コモンダイアログの「ファイル名」テキストボックスに初期入力される文字を空白しています。

 

windows-open-common-dialog-04

 

 

コモンダイアログを表示する

OpenFileDialog.ShowDialog();

コモンダイアログが表示する処理を実行しています。

 

 

LoadFile()メソッドを呼び出す

LoadFile(OpenFileDialog.FileName);

LoadFile()メソッドを呼び出しています。LoadFile()メソッドは今回実装したメソッドです。

 

テキストファイル内容をテキストボックスに設定する

private void LoadFile(string value) {
    textBox.Text = System.IO.File.ReadAllText(
            value, Encoding.GetEncoding("Shift_JIS"));
}

LoadFile()メソッドの実装です。このメソッドでは、コモンダイアログで選択されたテキストファイルの内容を読み込みテキストボックスに反映させる処理をしています。

 

 

以上が、「開く」ダイアログを表示させる方法についての説明です。

 

 

 

 

 

2. プログラムを実行して結果を確認する

 

これまでの手順の実行結果は以下の通りです。

 

windows-open-common-dialog-00

メニュー項目から「開く」を選択すると、「開く」コモンダイアログが表示されるのが確認できます。

 

windows-open-common-dialog-05

さらにテキストファイルを選択し「開く」ボタンを押すと、テキストファイルの中身が表示されることが確認できます。

 

次回は「ダイアログのキャンセルを考慮する」です。

 

 

 

 

広 告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です