したがって、次のことを行うボタンクリックのサブがあります。
- コンボ ボックス (cmbServerInstall.Text) 内のテキスト エントリが空白の場合、先に進む前にまずユーザーに選択を強制します。
- それ以外の場合は、文字列 (strGameServer) にコンボ ボックス (cmbServerInstall.Text) 内のテキストが入力されます。
- ここから、MessageBox に Yes/No オプションが表示され、ユーザーが続行するかどうか尋ねられます。
ここで問題が発生します。
私がしたいこと
- ユーザーが「はい」を選択した場合は、別の if/else を使用して、文字列 strGameServer に何が格納されているかを判断します。これが何に設定されているかに応じて、2 つのバッチ ファイルのいずれかが起動されます (現時点ではファイル パスが同じであることは理解しています。後で更新する予定です)。
- ユーザーが「いいえ」を選択した場合は、コンボボックス cmbServerInstall から選択を削除します。
このままでは何が起きているのか
- 基本的に、シェル コマンドは、MsgBoxResult が Yes か No かに関係なく、バッチ ファイルを起動します。
誰かが親切に以下のコードを見て、私が間違っている方向に私を向けることができますか? ネストされた IF は、私をより良くしているようです。
Dim strGameServer As String
If cmbServerInstall.Text = "" Then
MessageBox.Show("Please select a game server to install", "No game server selected", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
Else
strGameServer = cmbServerInstall.Text
MessageBox.Show("You have chosen" + " " + strGameServer + "." + " " + "Please confirm you wish to proceed with your selection.", "Confirm game server selection", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
If MsgBoxResult.Yes Then
If strGameServer = "Counter-Strike: Global Offensive" Then
Shell("C:\Users\Damon\Desktop\YorkshaLAN Server Creator\YorkshaLAN Server Setup.bat", AppWinStyle.NormalFocus)
Else : strGameServer = "Team Fortress 2"
Shell("C:\Users\Damon\Desktop\YorkshaLAN Server Creator\YorkshaLAN Server Setup.bat", AppWinStyle.NormalFocus)
End If
Else
cmbServerInstall.Text = ""
End If
cmbServerInstall.Text = ""
cmbServerInstall.Enabled = False
btnServerGoInstall.Enabled = False
End If
End Sub