previous arrowprevious arrow
next arrownext arrow
Shadow
Slider
C#/VB.net

C#で画面遷移(子画面など)でデータを渡す方法

画面の遷移をした最のデータの渡し方を紹介します。

簡単にできそうで、意外と書き方を忘れてしまうので、備忘録のためにも残しておきます。

実際に作ったファイルはこちらからダウンロードできます。

画面遷移とデータ渡しの概要

やることは、上のようにデータ渡しです。

流れはこんな感じです。

①子画面を立ち上げる

②選択したカレンダーの日付を選ぶ

③元画面のテキストボックスに日付が反映する

元画面から子画面への遷移するときのコード

子画面を開くコードとデータを元画面に渡すコードです。

まずはテキストボックスがクリックされたときに子画面を開くコードです。

以下は元画面のコードです。

説明

20~31行目はテキストボックスの値が日付型に変換できる場合は、日付に変換しています。

そして、カレンダーの子画面を開くときの引数にセットしています。

テキストボックスの値を元にカレンダーの初期値がセットできるようにしています。

35行目でカレンダーの子画面を開いています。

そして38行目でカレンダーの子画面が閉じたときに元画面で値を受け取って、テキストボックスにセットしています。

子画面から元画面へ遷移するときのコード

子画面が閉じるときに画面のプロパティを使って、元画面にデータを渡すプログラムです。

FrmCalenderは以下のように作られています。

子画面のコードです。

※selectedDt(date型)の変数はどこにグローバル変数として書いておいてください。

フォームロード

画面を開いた時に現在日になるようにしています。

子画面にプロパティの作成

子画面のプロパティを作成しておくことで、子画面から元画面へ値を返すことができます。

カレンダーの日付選択時

日付選択時に変数selectedDt にセットする処理です。

元画面にプロパティを使って値を渡す

selectedDateのプロパティに日付を渡して、画面を閉じています。

 

これで完了です。

画面遷移の値渡しを実行した結果

実行した結果の画面遷移とデータ渡し結果はこんな感じになります。

①日付FROMをクリックするとカレンダーの子画面が立ち上がります。

※開いたときの現在日がデフォルトでは設定されています。

②10/30を選択して確定ボタンを押すと日付FROMのテキストボックスに10/30がセットされています。

今回はここまでです。

他にも使えそうな処理があれば、趣味で作ったプログラムから抜粋で紹介していきます。

 

関連している記事

COMMENT

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