VB program flow, forgot how to get it going

Posted on 2009-07-15
Medium Priority
Last Modified: 2012-05-07
Hi all,

It's been a really long time since I've done VB and I was never any good at it.

I'm trying to write a simple program with two buttons and a label. The two buttons are Yes and No. The label will ask a question.

I'm having trouble getting it to flow, for example:

Are you over 21? User clicks Yes.
Are you a male? User clicks No.
Is your name Jane? User clicks Yes.

I have some code below that doesn't work at all. I forget what I'm missing in order for this to work, obviously calling the MainFlow sub would be a start but I can't even remember how to do that or if that's possible in VB. Maybe I'm mixing up my languages, I don't know!

I had it working with out the MainFlow sub but after 1 click it would just stop working.

Public Class Form1
    Dim BtnOne As Boolean = False
    Dim BtnTwo As Boolean = False
    Declare Sub Sleep Lib "kernel32" (ByVal milliseconds As Long)
    Public Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
        BtnOne = True
    End Sub
    Public Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click
        BtnTwo = True
    End Sub
    Public Sub MainFlow()
        If BtnOne = True Then
            lbl1.Text = "Are you a male?"
            BtnOne = False
            If BtnOne = True Then
                lbl1.Text = "Is your name Jane?"
            End If
        ElseIf BtnTwo = True Then
            lbl1.Text = "Alright, then you can't continue"
        End If
    End Sub
End Class

Open in new window

Question by:PrimusPilus
LVL 10

Assisted Solution

3_S earned 800 total points
ID: 24861001
You can use a msgbox to ask the 3 questions

    Dim age As Integer
    age = MsgBox("Are you over 21?", vbYesNo, "Age")
    If age = vbYes Then
    End If

Open in new window

LVL 86

Accepted Solution

Mike Tomlinson earned 1200 total points
ID: 24862855
Create a New Project with lblQuestion, btnYes and btnNo:
Public Class Form1
    Private Class Prompt
        Public Question As String
        Public CorrectAnswer As Boolean
    End Class
    Private CurrentPrompt As Prompt
    Private Prompts As New List(Of Prompt)
    Private PromptEnumerator As System.Collections.Generic.List(Of Prompt).Enumerator
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Prompts.Add(New Prompt() With {.Question = "Are you over 21?", .CorrectAnswer = True})
        Prompts.Add(New Prompt() With {.Question = "Are you a male?", .CorrectAnswer = False})
        Prompts.Add(New Prompt() With {.Question = "Is your name Jane?", .CorrectAnswer = True})
        PromptEnumerator = Prompts.GetEnumerator
    End Sub
    Private Sub NextPrompt()
        If PromptEnumerator.MoveNext Then
            CurrentPrompt = PromptEnumerator.Current
            Label1.Text = CurrentPrompt.Question
            MessageBox.Show("You Passed!")
        End If
    End Sub
    Private Sub CheckAnswer(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnYes.Click, btnNo.Click
        Dim Answer As Boolean = (sender Is btnYes)
        If Answer = CurrentPrompt.CorrectAnswer Then
        End If
    End Sub
End Class

Open in new window


Author Closing Comment

ID: 31603814
Thanks guys,

That works out great!


Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

587 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question