• ベストアンサー

VB2010Eで作成したプログラムの終了コード

こんばんは、VB2010Eを使ってプログラミングをしています。 私のプログラミングのスキルは初心者(上・中・下で言うなら、下の中くらい;)です。 なのでお手柔らかにお願いします<(_ _)> 作っているプログラムに終了ボタンを作ったのですが、クリックイベントのコードに 『Close()』と『Application.Exit()』のどちらを書くべきでしょうか? 用途は、自作のプログラムを普通に終了させたいです。 (ウィンドウの右上角の[×]ボタンの様に普通に…) 出来れば、『Close()』と『Application.Exit()』の違い等も教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんばんわ。 プログラム全体を終了させたい場合は、Application.Exit()を呼び出します。 開いているフォームを閉じたい場合には、Close()ですね。 フォームが1つしかない場合、どちらを呼んでも大差はありませんが、 もし、そのフォームを活用して、いくつものフォームを持つ、なんて拡張を考えた場合、 どちらにするかよく考えておきましょう。 たとえば、「終了メニュー」ならば、Application.exit()。 「閉じるボタン」ならば、Me.Close()と言った具合です。 普段から、なるべく拡張性が高いように作っておくのが吉ですよ。

noname#255795
質問者

お礼

こんばんわ。 Application.exit()とClose()の違いが少しだけわかりました。 そしてMe.Close()の "Me." は今回初めて知りました!!(そのくらいの初心者です…) まだ私の勉強不足です。 ご回答ありがとうございました<(_ _)>

その他の回答 (2)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.3

アドレス間違え(*ノノ) [Application.Exit メソッド](VB2010) http://msdn.microsoft.com/ja-jp/library/system.windows.forms.application.exit(v=VS.100).aspx

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

過去、古いバージョンでは、Application.Exit は強制終了でした。 よっぽどの事が無い限り「使ってはならない」と教わりました。 パソコンのコンセントを抜くのと同じで、プログラムで使っていた メモリ領域等の後始末をせずに終了させる命令だったからです。 [Application.Exit メソッド](VB.NET2003) http://msdn.microsoft.com/ja-jp/library/system.windows.forms.application.exit(v=vs.71).aspx >注意 Application.Exit メソッドが呼び出されてアプリケーションを終了する場合、 > Form.Closed イベントと Form.Closing イベントは発生しません。これらのイベント > のいずれかに実行する必要がある検証コードがある場合は、 Exit メソッドを呼び出す > 前に、開いている各フォームに対して Form.Close メソッドを個別に呼び出す必要があります。 [Application.Exit メソッド](VB2010) http://qanda.rakuten.ne.jp/qa6593379.html > このメソッドによって、アプリケーションが強制的に終了されるとは限りません。 最新版では、微妙な表現に変わって、改善されたような、他の問題が増えたような 感じになってます。 > FormClosing イベントが発生します。このイベントをキャンセルするには、それらの > FormClosingEventArgs パラメーターの Cancel プロパティを true に設定します。 キャンセルできるらしいので、終了しない可能性が出てきてしまいました。 勘違いを避ける意味でも、プログラムの終了まできちんとプログラムするという観点 からも、Close を使う事を推奨します。

noname#255795
質問者

お礼

すみません。自己解決致しました(・∀・*)ノ 有難うございました!

noname#255795
質問者

補足

ご回答ありがとうございます。 でも、ちょっと内容が私にはサッパリです。すみません(汗) 例: Public Class Form1 '※フォーム上に"終了ボタン"を作った場合のクリックイベント。 Private Sub CloseButton_Click(~略~) Handles CloseButton.Click '※Close()とMe.Close()はどちらを使えば良いでしょうか? Close() End Sub End Class 色々省きましたが上記の様な単純な使い方でよいのでしょうか? よろしくお願いします。

関連するQ&A

専門家に質問してみよう