2017-05-13 2 views
-2

私は現時点ではビジュアルベーシックな小さなプロジェクトに取り組んでいます。学校や大学などに利用できる学生とスタッフの予約システムです。 私は "ユーザがMsgBox内で「OK」を押したときだけプログラムをログアウトさせたいが、ユーザがMsgBox内で「Cancel」を押してもプログラムはまだログアウトしている。ユーザープレスのキャンセル時にMsgBoxを終了するには

これは私のコードです:

Private Sub HomeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HomeToolStripMenuItem.Click 

    ''Calls upon sub function stored in form 1 to log out the program and close its forms. 
    MsgBox("Are you sure you want to log out?", MsgBoxStyle.OkCancel) 

    If DialogResult.OK Then 
     Form1.LogOut() 
    End If 

End Sub 

あなたは、私がメッセージボックスにユーザーを押しての「OK」場合に、プログラムをログアウトするIfステートメントを使用しますが、ユーザーのプレスの「キャンセル」場合している見ることができるようにとにかく、何か提案がログアウトしますか?

P.S.私はどんな新人のミスやコードの非効率性を許しVBに非常に新しいです:)

+1

のMsgBox(のようにそれをしなければならない)* *機能です。戻り値があります。コードがチェックしていません。 –

+0

そしてDialogResult.OK Then_が常にtrueであるためLogutメソッドを呼び出します – Steve

+0

VB.NETはvbaおよび/またはVB6と非常に異なります。タグには、それぞれが適切であることを示す単語が含まれます。 [ask]を読んで[tour]を取ってください。 – Plutonix

答えて

1

あなたはちょうどこの

If MessageBox.Show("Are you sure you want to log out?", "Titel", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) = Windows.Forms.DialogResult.Cancel Then 
    Form1.LogOut() 
    End If 
+0

Proxy Hackerありがとう、魅力的に働いた! :D 1つの質問、Windows.Formsの機能、そのコードの必要性、そして単純な "= DialogResult.Cancel"はなぜ機能しないのでしょうか? – shanetemple90

+0

Windows.Formsの詳細https://msdn.microsoft.com/fr-fr/en-en/library/system.windows.forms.form(v=vs.110).aspx「= DialogResult.Cancelの詳細」 "https://pastebin.com/ejfvVSzT –

+0

Logic is' MessageBox.Show( "あなたは本当にログアウトしますか?")= DialogResult.OK'その後ログアウトします。 'DialogResult.Cancel'ではありません。または、「Press cancel to log out」のようなメッセージの意味を変更します。 –

関連する問題