Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何将文本框的文本设置为默认值_Vb.net_Winforms_Textbox - Fatal编程技术网

Vb.net 如何将文本框的文本设置为默认值

Vb.net 如何将文本框的文本设置为默认值,vb.net,winforms,textbox,Vb.net,Winforms,Textbox,我可能无法正确解释这个问题,但假设我的文本框在MM/DD/YYYY中有一个文本,该文本是根据其属性编辑的。我想知道,一旦文本框未被选中,它将如何再次返回到该文本。我试着对它进行编码,一旦文本框被点击,文本将自动清除,但我想知道它将如何再次返回到该文本。对不起,我的英语很糟糕,但希望你能理解 Private Sub birthdate_Click(sender As Object, e As EventArgs) Handles birthdate.Click birthdate.Cle

我可能无法正确解释这个问题,但假设我的文本框在MM/DD/YYYY中有一个文本,该文本是根据其属性编辑的。我想知道,一旦文本框未被选中,它将如何再次返回到该文本。我试着对它进行编码,一旦文本框被点击,文本将自动清除,但我想知道它将如何再次返回到该文本。对不起,我的英语很糟糕,但希望你能理解

 Private Sub birthdate_Click(sender As Object, e As EventArgs) Handles birthdate.Click
    birthdate.Clear()
End Sub

这是我单击文本框时的代码,它将清除文本本身。这将使您了解我所说的内容

这是一个扩展模块,它向文本框和组合框控件添加了一个方法,用于激活提示横幅1的内部功能。对于文本框,有两种可用的风格:提示横幅可见:a直到控件获得焦点,b在输入第一个字符后。 ComboBox控件在收到焦点或打开下拉列表后立即删除提示横幅

Win32函数用于修改编辑控件(文本框控件和组合框的编辑子控件)的行为,分别发送和消息

1设置显示的文本提示或提示 用于提示用户输入信息的编辑控件

由于这些是扩展方法,因此每个方法都扩展了控件功能,可以直接调用:

' The Cue Banner is visible until the control gets focus
TextBox1.SetCueBanner("MM/DD/YYYY", False)

' The Cue Banner is visible until a character is entered
TextBox1.SetCueBanner("User Name...", True)

ComboBox1.SetCueBanner("Select an item...")
将模块添加到项目中,并用以下内容替换模板生成的代码:

VB.Net版本:


关于添加该功能的自定义文本框控件,有各种示例。是一个在C语言中,可以很容易地转换为VB。我建议安装以进行转换。这是否回答了您的问题。有关在Windows平台上启用提示横幅功能所需的所有详细信息,请参阅接受答案。这是否回答了您的问题?这回答了你的问题吗?
Public Module ModExtentions

    Private Const EM_SETCUEBANNER As Integer = &H1501
    Private Const CB_SETCUEBANNER As Integer = &H1703

    <DllImport("user32.dll", CharSet:=CharSet.Auto, SetLastError:=True)>
    Private Function SendMessage(ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
    End Function

    <Extension()>
    Public Sub SetCueBanner(tbox As TextBox, ByVal text As String, ByVal showOnFocus As Boolean)
        SendMessage(tbox.Handle, EM_SETCUEBANNER, If(showOnFocus, 1, 0), text)
    End Sub

    <Extension()>
    Public Sub SetCueBanner(cbo As ComboBox, ByVal text As String)
        SendMessage(cbo.Handle, CB_SETCUEBANNER, 0, text)
    End Sub
End Module