VisualStudio2019 C#でWindowsフォームアプリケーションを作成しています。
#####作成しているプログラム
メインフォームで「新しいゲーム」を押すとサブフォーム(初期設定画面)が出てきて、そこでプレイヤーを登録し、「ゲームスタート」を押すとメインフォームに戻り登録したプレイヤーでゲームを始める…
というプログラム
#####質問
サブフォームで作成したリストにプレイヤー名が格納されているのですが、このようにサブフォームで作ったリストをメインのフォームで扱えるようにするにはどうしたらいいのでしょうか?
今は、サブで.txtファイルにリストを出力し、メインでそれを読み取るという強引な方法をとっています。
また、フォーム間だけでなく、{ }の中で定義した変数などを{ }の外で引き続き使えるようにすることはできるのでしょうか?
サブフォーム中のリストをpublicなプロパティにしておき、サブフォームを閉じたあとにそのプロパティへアクセスするなどすればよいです。より適切な回答のためには、実際の(最低限の)コードを質問文中にご提示ください。
> フォーム間だけでなく、{ }の中で定義した変数などを{ }の外で引き続き使えるようにすることはできるのでしょうか?
そのように宣言すればもちろん可能です。C#の基本的なお話になります。
強引と言うか、あるフォームで作ったデータをデータベースに保存し、別のフォームで取り出して使うのは特におかしなことではありません。パフォーマンス上問題が無ければ別にそのままで構わないと思います。
c# 変数 スコープ などをキーワードにググってヒットする記事を 2, 3 読んでから質問した方がよさそうです。