自定义输入框不记录响应

Custom InputBox Not Recording Response

我使用 frmInputBox.ShowDialog 创建了自定义 InputBox,并使用了 2 个标题为 "OK" 和“取消”的按钮,并将它们设置为 AcceptButtonCancelButton。这很简单,所以我可以让 InputBox 匹配我的主要 Form 的格式。但是当我在 frmInputBox 表单上的 TextBox 中输入一个值时没有消失,我的代码挂断了 InputBox 仍然打开。

我使用自定义 MessageBox 测试了我的代码,并且使用所有相同的选项它工作得很好。 InputBox 的问题一定与 TextBox 没有被正确记录有关。但是我在 TextBox 控件中没有看到任何选项可以将其设置为 Dialog 选项。

这是我的 MessageBox:

的示例代码
frmMessageBox.lblMessageText.Text = "Would You Like To Clear The Event Log?"
frmMessageBox.ShowDialog()
If frmMessageBox.DialogResult = DialogResult.OK Then
    txtEventLog.Clear()
Else
    Exit Sub
End If

这是我的示例代码 InputBox:

frmInputBox.lblDialogText.Text = "Enter Number of times this program should be executed:"
frmInputBox.ShowDialog()
If frmInputBox.DialogResult = DialogResult.OK Then
    ProgramCounter = frmInputBox.txtDialogInput.Text
Else
   Exit Sub
End If

我是否缺少一些我需要对 InputBox 做的事情,以便让它按照我期望的方式运行?

对于messagebox,我之前有答案,对于inputbox,和messagebox一样你需要一个module1:

Module Module1
    Public theResult As String

    Public Function myInputBox(ByVal promptText As String) As String
        InputBoxForm.lblPrompt.Text = promptText
        InputBoxForm.ShowDialog()
        myInputBox = theResult
    End Function
end Module

您需要输入框表单:

Public Class InputBoxForm

    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        theResult = txtInputResponse.Text
        Me.Close()
        Me.Dispose()
    End Sub

    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        theResult = ""
        Me.Close()
        Me.Dispose()
    End Sub
End Class

然后你可以这样调用你的输入框:

    Dim theRslt as String = myInputBox("Enter Number of times this program should be executed:")
    MsgBox(theRslt)