2017-09-25 14 views
-2

私は次のコードを持っている場合:Vbのコーディング声明

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
    ProgressBar1.Increment(1) 
    If ProgressBar1.Value = 99 Then 
     MessageBox.Show("This is the text", "This is the title", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) 
    End If 

それがメッセージボックスを表示した後、私はそれがこのようなコードを継続したいと

If Result = MsgBoxResult.Yes Then 
    MsgBox("You clicked YES!", , Title) 
Else 
    MsgBox("You clicked NO!", , Title) 
End If 

私は別のプログラムから2番目の部分を取得しましたが、この文脈では動作しません。

+2

VBA、VB6およびVB.NETは3つの異なる言語です。関連するタグのみを使用してください – Steve

+0

最初のスニペットのMsgBoxはタイマーと何が関係していますか? [質問]を読んで[ツアー]を受けてください – Plutonix

答えて

4

MessageBox.Show方法はMsgBoxによって返される古いVbMsgBoxResult列挙型に非常に似ている、DialogResultを返します。したがって、次のようなことができます:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
    ProgressBar1.Increment(1) 
    If ProgressBar1.Value = 99 Then 
     Dim result As DialogResult 
     result = MessageBox.Show("This is the text", "This is the title", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) 
     If Result = DialogResult.Yes Then 
      MessageBox.Show("You clicked YES!", Text) 
     Else 
      MessageBox.Show("You clicked NO!", Text) 
     End If    
    End If 
+0

または単に: 'MessageBox.Show($あなたが{結果} 'をクリックしました)、タイトル)' – Fabio

+3

本当です。しかし、それは単純なメッセージボックスが本当に望ましい動作であることを示しているに過ぎません。質問の重要な部分は、二次メッセージを表示する方法ではなく、If文の結果をチェックする方法であると仮定しました。これは、無意味であり、ほとんど確実に例として使用されるプレースホルダです。 –

+0

ティレルは宣言されていないと言います –

0

この簡単な解決方法を使用すると、問題が解決します。 If Else Statementを使用してこれを行うことは可能ですが、あなたのケースではSelect Caseも良い解決策です。

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
    ProgressBar1.Increment(1) 
    If ProgressBar1.Value = 99 Then 
     Select Case MessageBox.Show("This is the text", "This is the title", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) 
      Case DialogResult.Yes 
       MsgBox("You clicked YES!", , "Title") 
      Case DialogResult.No 
       MsgBox("You clicked NO!", , "Title") 
     End Select 
    End If 
End Sub 
+0

ありがとうたくさんの作品がうまくいく –

+0

これはあなたのために答えとupvoteとしてそれをマークしてください。 –