是否可以在vb.net中更改inputbox图标?

时间:2013-03-19 14:37:23

标签: vb.net icons inputbox

我有一个从代码中调用的输入框,但是虽然我的所有表单都有图标,但我在这个输入框上没有图标。由于它是消息框的标准选项,我认为它对于输入框没有标准选项很奇怪。

所以基本上,我该怎么做才能在这个输入框上添加一个图标?

inventory = InputBox("Inventory:" & vbCrLf & "Make sure this is correct, as an error can cause failure to login.", "Edit Inventory", oldinv)

注意:由于这是一个纯粹的美学问题,我还没有真正研究过这个问题,因为此时还有更重要的工作要做。

2 个答案:

答案 0 :(得分:2)

您可以尝试我自己的输入框

输入表格

Public Class frmInputbox

  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    btnResponse.Text = MsgBoxResult.Ok
    Me.Hide()
  End Sub

  Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    btnResponse.Text = MsgBoxResult.Cancel
    Me.Hide()
  End Sub

End Class

THE WRAPPER

Public Class DrZedInputbox

  Private Shared _UserResponseDlg As New frmInputbox()

  Public Shared Function Inputbox(Prompt As String, Title As String, ByRef TextData As String, Left As Integer, Top As Integer, Icon As System.Drawing.Icon) As MsgBoxResult
    Inputbox = MsgBoxResult.Cancel
    _UserResponseDlg.Text = Title
    _UserResponseDlg.Label1.Text = Prompt
    _UserResponseDlg.TextBox1.Text = textData
    _UserResponseDlg.Left = Left
    _UserResponseDlg.Top = Top
    _UserResponseDlg.Icon = Icon
    _UserResponseDlg.ShowDialog()
    Inputbox = _UserResponseDlg.btnResponse.Text
  End Function

  Public Shared ReadOnly Property TextData As String
    Get
      Return _UserResponseDlg.TextBox1.Text
    End Get
  End Property

  Public Shared ReadOnly Property Response As MsgBoxResult
    Get
      Return CType(_UserResponseDlg.btnResponse.Text, MsgBoxResult)
    End Get
  End Property

  Public Sub Dispose()
    _UserResponseDlg = Nothing
  End Sub

  Protected Overrides Sub Finalize()
    _UserResponseDlg = Nothing
    MyBase.Finalize()
  End Sub

End Class

实施

显示输入框

DrZedInputbox.Inputbox("prompt", "title", "default", 100, 100, Me.Icon)

收集结果(使用msgbox显示)

MsgBox("Text data entered: " & DrZedInputbox.TextData)
MsgBox("User response: " & DrZedInputbox.Response)

完成输入框后(整理)

DrZedInputbox.Dispose()

更新

添加了照片

DrZed.Inputbox sample

答案 1 :(得分:1)

看起来您需要为此实现自己的对话框(本机不支持)。参见:

谷歌的其他结果也有类似的建议。

相关问题