- - PR -
フォーム間の遷移
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-11-21 21:56
寅猫と申します。
以下のフォーム間遷移を実装しようと考えているのですが、よい方法が思いつきません。 @Form1のボタンでForm2を呼び出します。 この時、モーダルでの起動ではなくモードレスでの起動とします。 それと同時に Form1 のTextBoxを ReadOnly にButtonを非活性状態とします。 AForm2の戻るボタンでForm2をクローズし、Form1をアクティブにします。 その時にForm1の各コントロールを通常状態に戻します。 純粋にShowDialogでForm2を呼び出せばよいと思われるかもしれませんが、あくまで 「呼び出し元のフォームをさわれる(編集は不可)」状態でなければなりません。 また、タスクバーにForm1及びForm2両方とも存在している必要があるのです。 いろいろと試したのですが、Form2の戻るボタンでForm2をクローズした事をForm1の 方で判別して各コントロールを通常状態に復帰させればよいと思うのですが、どう すればよいか分かりません。 WithEvents とかを使えば Form1 で Form2 がクローズした事を受けての動作を指定 できる??とか考えていますが、どうも初心者なのでどうもこうも行きません。 お助けを! |
|
投稿日時: 2004-11-22 00:16
こんばんは。
Form1のボタンクリックで Dim f2 As New Form2 AddHandler f2.Closed, AddressOf f2_Closed f2.Show() としておいて、 Private Sub f2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Form2が閉じたときにしたい処理を書く End Sub といった感じではどうでしょうか? VB.NETは、あまり使ったこと無いので、自信がありませんが... |
|
投稿日時: 2004-11-22 00:18
Windowsアプリですか?それともWebアプリですか?
|
|
投稿日時: 2004-11-22 00:41
すいません.言葉足らずでした、Windowsアプリです.
|
|
投稿日時: 2004-11-22 03:23
諸農です。
Form2からForm1のインスタンスを操作できるような仕掛けをForm2に加えれば、 Form2で発生するなんらかのイベントハンドラ内で対処できますね。 ただ、戻るボタンのクリックイベントだけで対応してしまうと、 Form2の右上の×を押されてWindowが閉じられた場合に対応できなくなるので、 たけださんがコメントされているように、戻るボタンはForm2を閉じるメソッド の実行を行い、Form2のCloseイベントでForm1を操作するようにすればいいので はないでしょうか。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
|
投稿日時: 2004-11-23 13:18
たけだ様
burton999様 Jubei様 ありがとうございました. たけだ様の教えてくださった方法でうまく制御することができました. 助かりました〜!!! |
|
投稿日時: 2004-11-23 19:15
ちなみに、私の投稿のしたの「www」というリンクから私のホームページに行き、「.NET FrameworkおよびVS.NETに関するTips」→「プログラムサンプル」の、「他のDLLにあるフォームを表示する」に、サンプルソリューションがあります。
_________________ |
1