All pastes #261390 Raw Edit

Miscellany

public text v1 · immutable
#261390 ·published 2006-11-29 05:10 UTC
rendered paste body
    Class InputForm
      Inherits Form
      Dim bok As Button
      Dim bcancel As Button
      Dim entry As TextBox
      Dim result As String

      Public Sub New(ByVal Prompt As String, Optional ByVal Title As String = "", Optional ByVal DefaultResponse As String = "", Optional ByVal XPos As Integer = -1, Optional ByVal YPos As Integer = -1)
        SuspendLayout()

        Text = Title
        ClientSize = New Size(400, 120)

        bok = New Button()
        bok.Text = "Ok"

        bcancel = New Button()
        bcancel.Text = "Cancel"

        entry = New TextBox()
        entry.Text = DefaultResponse
        result = DefaultResponse

        AddHandler bok.Click, AddressOf ok_Click
        AddHandler bcancel.Click, AddressOf cancel_Click

        bok.Location = New Point(ClientSize.Width - bok.ClientSize.Width - 8, 8)
        bcancel.Location = New Point(bok.Location.X, 8 + bok.ClientSize.Height + 8)
        entry.Location = New Point(8, 80)
        entry.ClientSize = New Size(ClientSize.Width - 28, entry.ClientSize.Height)

        Controls.Add(bok)
        Controls.Add(bcancel)
        Controls.Add(entry)

        ResumeLayout(False)
      End Sub

      Public Function Run() As String
        If Me.ShowDialog = Windows.Forms.DialogResult.OK Then
          Return result
        Else
          Return String.Empty
        End If
      End Function

      Private Sub ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        result = entry.Text
        Me.DialogResult = Windows.Forms.DialogResult.OK
      End Sub

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

    Public Function InputBox(ByVal Prompt As String, Optional ByVal Title As String = "", Optional ByVal DefaultResponse As String = "", Optional ByVal XPos As Integer = -1, Optional ByVal YPos As Integer = -1) As String
#If TARGET_JVM = False Then
      Dim f As InputForm
      f = New InputForm(Prompt, Title, DefaultResponse, XPos, YPos)
      Return f.Run()
#Else
            Throw New NotImplementedException
#End If
    End Function