フォームをロードしたときの状態に戻す
投稿者 vajar  (社会人)
投稿日時
2011/11/14 05:04:41
回答が得られないようなのであきらめます。
投稿者 shu  (社会人)
投稿日時
2011/11/14 07:45:21
変動するプロパティ等の初期状態をすべて保存しておいて
リセット処理でそれらの値を設定しなおす。
自動ではないと思います。
リセット処理でそれらの値を設定しなおす。
自動ではないと思います。
投稿者 とくま  (社会人)
投稿日時
2011/11/14 09:24:23
> もうひとつフォームを作成して、
その部分は、もう少しコストの低いクラスで代用できるでしょうが、
結局画面を作り直すと再表示になるので、初期値に戻す処理を自分の
関数で作る方がいいですね。
…それがコントロールの数が多くて大変でもです。
InitializeComponent に自動で書かれるコードが参考になるかもしれません。
その部分は、もう少しコストの低いクラスで代用できるでしょうが、
結局画面を作り直すと再表示になるので、初期値に戻す処理を自分の
関数で作る方がいいですね。
…それがコントロールの数が多くて大変でもです。
InitializeComponent に自動で書かれるコードが参考になるかもしれません。
投稿者 bz9  (中学生)
投稿日時
2011/12/31 11:25:21
Sub Main でスタートさせる設定にして、
というのはどうでしょうか。
ただ、使うたびにメモリ消費量が増えますので何度もやるのには向いていませんが・・・
Shared Sub Main()
Form1.ShowDialog()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Static Form1 As New Form1
Me.Dispose()
Form1.ShowDialog()
End Sub
というのはどうでしょうか。
ただ、使うたびにメモリ消費量が増えますので何度もやるのには向いていませんが・・・
フォームのロード後に作成したインスタンスや変更したプロパティをすべてリセットして、
フォームをロードしたときの状態に戻すにはどうすればよいでしょうか?
もうひとつフォームを作成して、そこでDispose()とMy.Forms.フォーム名.ShowDialog(Me)を実行することによって対処はできたのですが、
それだけのためにもうひとつフォームを用意するのは無駄があるように思います。