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

私のエラーは、タイプ'InputBox'が定義されていないことです。どうすればそれが定義されるようにできますか?

ありがとう、

オディナルフ

4

4 に答える 4

2

上記のコードが実際のコードからコピー/貼り付けされていると仮定すると、クラスの名前Form2は notになり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 に答える