タイトル : Re^15: モードレスの終了 投稿日 : 2009/02/06(Fri) 15:13 投稿者 : ダンボ
> > Stateは列挙体で、HiddenとかActivatedとかClosedとかReActivatedとか定義するですね。 Public Enum State Activated ReActivated Active Hidden Closed End Enum Vb.netに備わっているものではないので、このように自分で定義する必要があります。 また上記に列挙しているものも必要十分な状態かどうかは疑問です。再考したほうが よいです。状態遷移図を描いて、Stateに対して、誰が・いつ・何をセットするのか 書き出しておかないとバグの元です。 下記は一例です。 Form1をShowしようとする人は、Form1Stateを見て ・HiddenだったらForm1StateにReActivatedを入れてShow ・Closedだったら新しくForm1を作ってForm1StateにActivatedを入れてShow ・Activated/ReActivated/ActiveだったらForm1は動いているはずなので何もしない Form1のActivateイベント処理では、Form1Stateを見て ・Activatedだったら初めての起動なので初期処理をしてStateをActiveに変える ・ReActivatedだったらHiddenからの復帰なので初期処理せずにStateをActiveに変える |