> その後、Form2を閉じて、再度Form1のButton1をClickしても、今度は
> Form2.RadioGroup1のItemIndexは0のままです。
> どうしてでしょうか、
上手く説明できるか不安ですが,
この動作は,「どうして」というよりも,「仕様」と考えた方が
いいのではないかと思われます.
プロジェクトにFrom1とForm2があるとします.
Form2は既に作成済みとします
(実行中にCreateしたか,自動生成とする)
Form1からForm2をShowメソッドで表示するとします.
Form2.Show;
は,Form2のVisibleプロパティをTrueにします.
Form2.Closeは基本的にVisibleプロパティをFalseにします.
もちろん,Form2がメインフォームの時は,アプリの終了になります.
From2は,何かの設定ダイアログだとします.
Form2を表示して,何かを設定します.
TMemoに,あるいは,TEditに何かを入力することを想像してください.
Form2を閉じます.
再度,Form2を表示します.前の設定した状態が再現されます.
この時,もし前の設定が再現されないと,既にレスにあるように
Form2を表示する前に,前の設定をどこかに保存しておいて,
Form2の上にあるコントロールに対して設定しなければなりません.
そうしないと,「あ〜ぁ,折角入力したのにぃ」となります.
こういう用途というのは結構あります.
もちろん,ダイアログの{OK]で閉じた場合は,次のShowメソッドで設定を再現,
{Cancel}の場合は,再現させない,という仕様の場合もあるでしょう.
こういう動作仕様というのは,
「これこれになるようにしたい」という人もいれば
「これこれにならないようにしたい」
という人もいるのが普通です.
コミュニティの場で質問された方が,自分の希望する動作をしないと,
あたかも,その言語の仕様に問題があるようなことを書く方がいます.
こういった内容の発言を,何回も見たことがあります.
しかし,必ずしもそうとは言えない場合もあるということです.
納得していただけるでしょうか?
|