DOBON.NET DOBON.NETプログラミング掲示板過去ログ

Fromの切り替えについて

環境/言語:[Windows, XP]
分類:[VB6以前]

Fromの切り替えをしたいのですが、
例えば
From1をメインとして、サブFrom2、From3、From4へいったり。戻ったりしたいのですが
From1はメニュー的な使い方をしているので、残しておいてFrom2〜4、からFrom1へ
帰るときにはサブFromは消したいのですが、方法が分かりません。

'Form3のフォームオブジェクトを宣言しインスタンスを作成する
Dim frmForm2 As New Form2

'フォームをモーダルで表示する
frmForm2.ShowDialog()

Fromの表示はすべて、モーダル表示で実行しています
よろしくお願いします。
2004/06/20(Sun) 17:43:28 編集(投稿者)

■No4497に返信(ふろふろさんの記事)
> Fromの切り替えをしたいのですが、
> 例えば
> From1をメインとして、サブFrom2、From3、From4へいったり。戻ったりしたいのですが
> From1はメニュー的な使い方をしているので、残しておいてFrom2〜4、からFrom1へ
> 帰るときにはサブFromは消したいのですが、方法が分かりません。
>
> 'Form3のフォームオブジェクトを宣言しインスタンスを作成する
> Dim frmForm2 As New Form2
>
> 'フォームをモーダルで表示する
> frmForm2.ShowDialog()
>
> Fromの表示はすべて、モーダル表示で実行しています
> よろしくお願いします。
>
> プログラム作成は。 NETです。
>
きいぼーです。

> 'Form3のフォームオブジェクトを宣言しインスタンスを作成する
> Dim frmForm2 As New Form2
>
> 'フォームをモーダルで表示する
> frmForm2.ShowDialog()
でForm2が表示されますよね。

Form2に配置されているボタンを(btn_OK)とすると、
btn_OK.DialogResult = DialogResult.Yes(ここは返り値)

でボタンが押されたときには、閉じると思いますが。

form2.DialogResult = DialogResult.Yes
とやることで、
ボタン押下時以外でも閉じることが出来ます。
■No4528に返信(きいぼーさんの記事)
> きいぼーです。
>
>>'Form3のフォームオブジェクトを宣言しインスタンスを作成する
>>Dim frmForm2 As New Form2
>>
>>'フォームをモーダルで表示する
>>frmForm2.ShowDialog()
> でForm2が表示されますよね。
>
> Form2に配置されているボタンを(btn_OK)とすると、
> btn_OK.DialogResult = DialogResult.Yes(ここは返り値)
>
> でボタンが押されたときには、閉じると思いますが。
>
> form2.DialogResult = DialogResult.Yes
> とやることで、
> ボタン押下時以外でも閉じることが出来ます。
>
>

きいぼーさん 有難うございます。

早速TESTしてみました。
btn_OK.DialogResult = DialogResult.Yes は望み通りの結果を得ることができました。
メインに帰り再度FROM2を開いてもダブルことはなくなりました。
しかしながら、
form2.DialogResult = DialogResult.Yes
> とやることで、
> ボタン押下時以外でも閉じることが出来ます。

の方は、 そのコードを入れた時点で”非共有メンバを参照するにはオブジェクト
参照が必要です”とのエラーがでます。
それと、うまく動かないので
ボタン押下時以外でも閉じることが出来ます。の意味が分かりません。
再度ご指導いただければありがたいのですが。
きいぼーです。
返信遅くなりました。


> form2.DialogResult = DialogResult.Yes
>>とやることで、
>>ボタン押下時以外でも閉じることが出来ます。
説明不足で申し訳ないです。
例えば、From2のなかの処理で、

Me.DialogResult = DialogResult.Yes

とすると、From2が閉じます。
■No4650に返信(きいぼーさんの記事)
> きいぼーです。
> 返信遅くなりました。
>
>
>>form2.DialogResult = DialogResult.Yes
> >>とやることで、
> >>ボタン押下時以外でも閉じることが出来ます。
> 説明不足で申し訳ないです。
> 例えば、From2のなかの処理で、
>
> Me.DialogResult = DialogResult.Yes
>
> とすると、From2が閉じます。
>

ご返事ありがとうございます
私の理解不足で申し訳ありません
下記のロジックでテスト(サンプル通り)していますが
~~~~~~部分のエラーが消えません
”非共有メンバを参照するにはオブジェクト
参照が必要です”とのエラーがでます。

入れるところがまずいのでしょうか?
それと
ボタン押下時以外でも閉じることが出来ます。の意味がわかりません
ボタン押下時以外とは、どうしたときなのでしょうか??

度々本当にすみませんがよろしくおねがいします・

Private Sub btn_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_OK.Click
'でForm2が表示されますよね。

'Form2に配置されているボタンを(btn_OK)とすると、
btn_OK.DialogResult = DialogResult.Yes '(ここは返り値)

'でボタンが押されたときには、閉じると思いますが。

Form2.DialogResult = DialogResult.Yes
~~~~~~~~~~~~~~~~~~~
'とやることで、
'ボタン押下時以外でも閉じることが出来ます。

End Sub
きいぼーです。

> Private Sub btn_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_OK.Click
> 'Form2に配置されているボタンを(btn_OK)とすると、
> btn_OK.DialogResult = DialogResult.Yes '(ここは返り値)
>
> Form2.DialogResult = DialogResult.Yes
> ~~~~~~~~~~~~~~~~~~~
> End Sub
エラーの出る理由は、Form2がFormオブジェクト自身であるためにエラーとなります。
> Form2.DialogResult = DialogResult.Yes
Me.DialogResult = DialogResult.Yes
とするとOKです。
■No4668に返信(きいぼーさんの記事)
> きいぼーです。
>
>> Private Sub btn_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_OK.Click
>> 'Form2に配置されているボタンを(btn_OK)とすると、
>> btn_OK.DialogResult = DialogResult.Yes '(ここは返り値)
>>
>> Form2.DialogResult = DialogResult.Yes
>> ~~~~~~~~~~~~~~~~~~~
>> End Sub
> エラーの出る理由は、Form2がFormオブジェクト自身であるためにエラーとなります。
>> Form2.DialogResult = DialogResult.Yes
> Me.DialogResult = DialogResult.Yes
> とするとOKです。
>

きいぼーさん ありがとうございました。
うまくいきました。!!
これで、FORM2を閉じ正常にメインへ帰れるようになりました。
ご指導感謝します。
今後ともよろしく、お願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板