こんにちはmtjです。
.Netの画面遷移について
デスクトッププログラムを作る上でWebのような画面遷移は悩んだことがある人が多いのではないでしょうか
WPF UWP等を扱わずに初期状態のWinForm等でできる動作としては以下のような作りになると思われます。
1.新しいFormを作る
画面毎に切り離せるので作りが綺麗にしやすいのと作りやすいです
移動時に画面が新たに開くのでWebのように見せるためには少し工夫が必要
2.コントロールの表示を切り替える事での動作。
見た目は1つの画面で遷移ぽく見えるので綺麗です。
欠点としてはForm側での管理もあるので気をつけないとコードが汚くなってしまう事です。
自分は新しいFormを作り 現在の表示用の画面に中身のコントロールを配置するようにしました
1のForm別の作りやすさはそのままに遷移のように作れるので割とうまくできました。
懸念点としては別Formの物を移動しているので予想外の挙動をするのではないかというぐらいです。
利点としては置く場所さえあればよいので本当の画面遷移のように表示したいFormさえ何かで受取表示さえ行えば上位はほぼ気にすることなく動作を行える点です。
コントロールの時のようにコントロールの表示の切り替え等を作ったりする必要がなく それぞれのやり取りも必要最低限のデータで行えます。
1つのFormで完結していればデータの受け渡しも必要ありません。
結構WinFormでも工夫することで面白い表示が行えるので色々試したいと思いました。
以上です。