If you call Console.Readline then the console will wait for the user to input a line each time. Try a select case statement:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Select Case Console.Readline
Case "1" : Module1.News()
Case "2" : Module1.hp()
Case Else : Module1.snd()
End Select
End Sub
This will read a line and afterwards switch to the case that was typed in. Case else
handles everything that is not "1" or "2" (calls the same sub again to wait for a new input).
For Steven: You can also read the line into a string variable and evaluate this using If/Then/Else like this:
Sub snd()
System.Console.WriteLine("Pick a command:")
System.Console.WriteLine("1) News")
System.Console.WriteLine("2) Historical Prices/Volume")
Dim UserInput as String = Console.ReadLine
If UserInput = "1" Then
News()
ElseIf UserInput = "2" Then
Hp()
Else
snd()
End If
End Sub
The trick is the same, you only read a line once and then evaluate and handle the input afterwards.