0

是的,这是一个非常糟糕的问题,可能任何半正派的 VB.NET 程序员都应该知道。好吧,我是 VB.NET 的新手,所以我需要一点帮助。

我在另一个窗体类旁边创建了一个 Windows 窗体类,它的代码是这样的:

Imports System.Windows.Forms

Public Class Form2

    Protected m_BlankValid As Boolean = True
    Protected m_ReturnText As String = ""

    Public Overloads Function ShowDialog( _
      ByVal TitleText As String, _
      ByVal PromptText As String, _
      ByVal DefaultText As String, _
      ByRef EnteredText As String, _
      ByVal BlankValid As Boolean) As System.Windows.Forms.DialogResult
        m_BlankValid = BlankValid
        Me.PromptLabel.Text = PromptText
        Me.Text = TitleText
        Me.Txt_TextEntry.Text = DefaultText
        Me.ShowDialog()
        EnteredText = m_ReturnText
        Return Me.DialogResult
    End Function

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If Me.Txt_TextEntry.Text = "" Then
            Me.OK_Btn.Enabled = m_BlankValid
        Else
            Me.OK_Btn.Enabled = True
        End If
    End Sub

    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.DialogResult = System.Windows.Forms.DialogResult.OK
        m_ReturnText = Me.Txt_TextEntry.Text
        Me.Close()
    End Sub

    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
        m_ReturnText = ""
        Me.Close()
    End Sub
End Class

显然,我的设计中有一些图形。

要调用我的课程,我想使用以下代码:

Dim TextReturned As String = ""
Dim a As New InputBox
If a.ShowDialog("The Title", "The Prompt", "Default", TextReturned, False) = Windows.Forms.DialogResult.Cancel Then
    ' Cancel Pressed
    Beep()
Else
    '
End If

我的错误是未定义“输入框”类型。我怎样才能使它被定义?

谢谢,

奥迪努尔夫

4

4 回答 4

2

假设您上面的代码是从您的实际代码中复制/粘贴的,则您的类名为Form2not InputBox。将自定义表单上的类声明更改为Public Class InputBox

但是,如果您上面的片段只是有错字,那可能会改变一些事情。

于 2011-07-08T13:39:33.737 回答
1

您的代码如下:

Dim a As New InputBox

但该类定义为:

Public Class Form2

这意味着您的代码应为:

Dim as New Form2()

注意:或者您可以将您的课程重命名为: Public Class Form2

Public Class InputBox

于 2011-07-08T13:39:51.773 回答
0

好吧,根据您发布的代码,您的“InputBox”称为Form2(类名)。将其更改为 InputBox,它应该可以工作。

于 2011-07-08T13:39:17.307 回答
-1

InputBox不是类型或类,它是一种方法。例如...

InputBox("The Title", "The prompt") 'and any other parameters you need

于 2011-07-08T13:39:04.187 回答