以下是我想在我的项目来实现:如何在VB中“提示”用户输入的子表单?
当用户按下一个按钮,一个窗体弹出与文本框,单选按钮,然后就可以选择菜单,允许用户输入他们的通知,
单击确定,表单数据将被传递到主程序窗体中的某个文本框中 单击取消,子表单刚刚消失
这是可能的VB吗?
我想提示输入框和,但也有限制
我是新来的VB,很抱歉,如果我没有把这个问题明确
以下是我想在我的项目来实现:如何在VB中“提示”用户输入的子表单?
当用户按下一个按钮,一个窗体弹出与文本框,单选按钮,然后就可以选择菜单,允许用户输入他们的通知,
单击确定,表单数据将被传递到主程序窗体中的某个文本框中 单击取消,子表单刚刚消失
这是可能的VB吗?
我想提示输入框和,但也有限制
我是新来的VB,很抱歉,如果我没有把这个问题明确
我用这个样品和清理代码位: http://www.dreamincode.net/forums/topic/103846-custom-inputbox/
我不知道如何实现你的单选按钮,然后选择菜单,但你可能可以计算出来,因为最困难的部分是从弹出的形式获取文本传递回调用形式这是为你在这里完成的。让我知道你是否需要这部分的帮助。也许你可以提供一个用户界面的屏幕截图?
所以,从您的通话形式,单击按钮显示提示:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim result = frmPrompt.Show("The Title", "The Prompt", "Default", TextBox1.Text, False)
End Sub
这就是你粘贴到您的自定义提示的形式代码:
Imports System.Windows.Forms
Public Class frmPrompt
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.Lbl_Prompt.Text = PromptText
Me.Text = TitleText
Me.Txt_TextEntry.Text = DefaultText
Me.ShowDialog()
EnteredText = m_ReturnText
Return Me.DialogResult
End Function
Public Overloads Shared Function Show(ByVal TitleText As String, ByVal promptText As String, ByVal DefaultText As String, ByRef TextInputted As String, Optional ByVal IsEmptyValid As Boolean = True) As System.Windows.Forms.DialogResult
Dim tmp As New frmPrompt
Return tmp.ShowDialog(TitleText, promptText, DefaultText, TextInputted, IsEmptyValid)
End Function
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txt_TextEntry.TextChanged
If Me.Txt_TextEntry.Text = "" Then
Me.But_Ok.Enabled = m_BlankValid
Else
Me.But_Ok.Enabled = True
End If
End Sub
Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles But_Ok.Click
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) Handles But_Cancel.Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
m_ReturnText = ""
Me.Close()
End Sub
End Class
刚刚创建自己的形式并用.ShowDialog()
显示为模态,如InputBox。
然后,当数据输入到控件中时,在关闭表单之前,将数据传递到主表单,以免它丢失。
一个更简单的方法是声明你将使用的窗体的变量,然后调用showdialog。现在您可以访问窗体上的所有控件属性。因为您使用的是form2的对象,所以关闭表单时不会处理对象,因此所有内容都可用。
Dim NewForm2 As New Form2
Dim Result As DialogResult = NewForm2.ShowDialog
If Result = Windows.Forms.DialogResult.OK Then
MsgBox(Newform2.TextBox1.Text)
End If
在窗体2补充一点:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Me.DialogResult = Windows.Forms.DialogResult.OK
Me.Close()
End Sub
什么不告诉你,你有什么.. **但也有限制** .. – matzone