单击后在文本框中清除文本

时间:2010-11-01 11:47:12

标签: vba textbox

我在文本框中有文字,上面写着“NEW NAME HERE”

一旦用户点击该文本框,是否可以在VBA中清除此文本?

如果有的话,请让我知道怎么做?

谢谢 -

4 个答案:

答案 0 :(得分:4)

假设TextBox名为TextBox1,则以下内容应该起作用

Private Sub TextBox1_GotFocus()
    TextBox1.Text = ""
End Sub

答案 1 :(得分:3)

我知道这是一个老帖子,但我偶然发现它,并认为我会添加一个答案。 也许有人会在某一天发现它有用:-)

我会在清除内容之前检查当前值。这样,它会在您第一次单击时清除内容,但如果您稍后再次单击它(也许可以编辑名称),它什么都不做,允许编辑而不必重新开始。

假设TextBox名为TextBox1且占位符文本为NEW NAME HERE,则以下内容应该有效

Private Sub TextBox1_Enter()
    If TextBox1.Text = "NEW NAME HERE" Then
        TextBox1.Text = ""
    End If
End Sub

如果文本框留空,则恢复占位符文本:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Trim(TextBox1.Text) = "" Then
        TextBox1.Text = "NEW NAME HERE"
    End If
End Sub

在Word 2010 VBA中测试

答案 2 :(得分:1)

我在没有Handles部分的情况下尝试过(就像其他已经回答过的人一样)并且没有做任何事情。我已经确认下面的代码适用于我。

Private Sub txtNewNameHere_GotFocus() Handles txtNewNameHere.GotFocus
    txtNewNameHere.Text = ""
End Sub

希望这有助于某人,即使这个问题有点旧。

答案 3 :(得分:1)

Private Sub Textbox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Textbox1.MouseClick
    textbox1.clear()
End Sub

试试这个。我只是在daniweb中的这段代码。