私は誰かが実際のウィンドウの右上にある赤い終了ボタンをクリックしたときに、私のVisual Basic(マイクロソフトのVisual Studio 2017)のプログラムが別のフォームを開くのフォームのいずれかを作るしようとしているが、私していますこれを行う方法を知らない。誰でも助けてくれますか?出来ますか?Visual Basicのプログラムの終了ボタン
答えて
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim frm As New Form1
frm.Show()
Me.Close()
End Sub
OPが[Form.Closing](https://msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosing(v = vs.110))を使用する可能性が高くなります。 Private Sub SomeFormName_FormClosing(送信者としてオブジェクト、eとしてFormClosingEventArgs)MyBase.FormClosing'を処理します。 –
[よくある回答を書くにはどうすればいいですか](https://stackoverflow.com/help/how-to-answer)をご覧ください。コードのみの回答は、質問の問題の解決方法を説明していないため、お勧めできません。あなたの答えを更新して、これが何をし、どのように実際の問題を解決するのかを説明する必要があります。 OPが持っていること。 – FluffyKitten
Andrewは、Form.Closingイベントを利用する可能性が高いと述べています。これは、プログラムが終了したときにアクションを開始するのに役立ちます。
しかし、これはまた、フォームが一瞬のためにポップアップ表示されますし、その後、プログラム全体が終了します秒ですつまり、あなたのプログラムを終了します。したがって、おそらくForm.ShowDialogメソッドを使用して2番目のフォームを呼び出すこともできます。これにより、2番目のフォームが閉じられるまでプログラムが終了しなくなります。
以下を参照してください。最初のフォームにこのサブを追加してください。
Private Sub Form1_Closing(Sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Form2.ShowDialog()
End Sub
終了していないにもかかわらず、プログラムを実行するよう他の人に依頼してください。ユーザーが1つを閉じたときに新しいウィンドウを作成することはかなり勇気があります。あなたのディケンズをユーザーから混乱させないようにしたいと考えています。 「次へ」ボタンのようなものは、はるかに驚くほど少ない傾向があります。 –