C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: Dialog呼出画面-exit subでキャンセルを返す?


(過去ログ 38 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■19921 / inTopicNo.1)  Dialog呼出画面-exit subでキャンセルを返す?
  
□投稿者/ ぐっちょん (6回)-(2008/06/02(Mon) 12:02:44)

分類:[.NET 全般] 

OS:WINDOWSXP(SP2)
使用言語:VB.NET2005

メイン画面から複数のフォームを[showDialog]で表示するプログラムを作成しています。
メイン画面から表示する画面を A、B、C、Dとします。

※コードで表すと以下の形です
Dim hFrom As New frmA
if hFrom.ShowDialog() = Windows.Forms.DialogResult.OK Then

end if

A,Bの画面では[exit sub]を実行しても、画面が終了される事はありませんが、
C,Dの画面では[exit sub]を実行すると、キャンセルが返還されて画面が終了されます。
※コードで表すと以下の形です
Private Sub btnA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnA.Click
if 1 = 1 then
exit sub
end if
exit sub

exit subが実行されるまでに書かれているコードを統一して実行してみましたが、画面ごとに動作が変わります。

現在は、終了する画面で[exit sub]が実行される前に[Me.DialogResult = Windows.Forms.DialogResult.None]を実行すると、
終了されずに動作するので暫定的な解決はできていますが、本来の解決策ではないと考えています。

showDialogで呼出を行った画面で、上記の動作についてお分かりになる方がいらっしゃいましたら、教えて頂けますでしょうか?
引用返信 編集キー/
■19923 / inTopicNo.2)  Re[1]: Dialog呼出画面-exit subでキャンセルを返す?
□投稿者/ はつね (763回)-(2008/06/02(Mon) 13:40:35)
はつね さんの Web サイト
No19921 (ぐっちょん さん) に返信
> メイン画面から複数のフォームを[showDialog]で表示するプログラムを作成しています。
> メイン画面から表示する画面を A、B、C、Dとします。
   (中略)
> A,Bの画面では[exit sub]を実行しても、画面が終了される事はありませんが、
> C,Dの画面では[exit sub]を実行すると、キャンセルが返還されて画面が終了されます。

Exit Subはそのプロシージャから抜けるための命令であって、画面を閉じる(終了する)
命令ではありません。
よって、スレ主さんが注目している個所とは別のところに相違があるはずです。

A,B,C,Dの画面を閉じるため操作は具体的にはどのような操作ですか?
何か画面上のボタンをクリックするのですか、それとも右上の[×]ボタンですか?

引用返信 編集キー/
■19925 / inTopicNo.3)  Re[1]: Dialog呼出画面-exit subでキャンセルを返す?
□投稿者/ まどか (539回)-(2008/06/02(Mon) 13:59:36)
勝手に閉じるということであれば、
そのボタンのButton.DialogResult プロパティに値が設定されていないか確認してください。

引用返信 編集キー/
■19927 / inTopicNo.4)  Re[2]: Dialog呼出画面-exit subでキャンセルを返す?
□投稿者/ ぐっちょん (7回)-(2008/06/02(Mon) 15:38:20)
はつねさん、まどかさん返信ありがとうございます。

Button.DialogResultプロパティに Cancel と設定されていました。 orz
同様の現象に起こっていた箇所も同じく cancel と設定されていました。

None に直すと、Exit subを実行しても画面が終了する事はなくなりました。

盲点でした・・お蔭様で解決する事ができました。ありがとうございます。
解決済み
引用返信 編集キー/
■19928 / inTopicNo.5)  Re[3]: Dialog呼出画面-exit subでキャンセルを返す?
□投稿者/ なちゃ (129回)-(2008/06/02(Mon) 16:15:25)
ちと補足ですが、フォームのキャンセルボタンとか、あるいはボタンのDialogResultが設定されてたりしませんか?

この辺どっかが設定されてると、DialogResultが自動でセットされたりします。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -