点击事件执行一次

amd8750 2015-06-16 04:17:18
大家好,是这样,界面有一个text,输入查询条件后回车就可以显示结果,
我在text 家了使用说明, 我想如果实现点击这个框就可以清除我写的说明,但只执行一次,以后点击不清楚,
这个如何实现,求助.

...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
amd8750 2015-06-17
  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
楼主参考一下。 注意,输入查询条件的文本框不能是第一个获得焦点的控件, 你可以在窗口设计时,把它右边的那个按钮的 TabIndex属性 设置为0。
Option Explicit

Private Const INITTEXT  As String = "输入后回车即可查询"
Private Const INITCOLOR As Long = &HC0C0C0

Private mlFlag As Long

Private Sub Form_Load()
   mlFlag = 0
   Text1.Text = INITTEXT
   Text1.ForeColor = INITCOLOR
End Sub

Private Sub Text1_GotFocus()
   If (mlFlag) Then Exit Sub
   mlFlag = vbTrue
   Text1.Text = ""
   Text1.ForeColor = 0
End Sub

Private Sub Text1_Validate(Cancel As Boolean)
   If (Text1.Text = ""  Or Text1.Text = INITTEXT) Then
      Text1.Text = INITTEXT
      Text1.ForeColor = INITCOLOR
      mlFlag = 0
   End If
End Sub
您好,您的方法非常好,很美观,很实用,十分感谢您,也感谢其他热心的大神的热心帮忙!
Carlven2012 2015-06-17
  • 打赏
  • 举报
回复

Option Explicit
Dim bFirst As Boolean


Private Sub Form_Load()
    bFirst = True
    Text1.Tag = "输入后回车即可查询"
    Text1 = Text1.Tag
    Command1.Caption = "查询"
End Sub

Private Sub Text1_Click()
    If bFirst Then Text1 = ""
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyReturn Then bFirst = False
End Sub

Private Sub Command1_Click()
        bFirst = False
        '查询操作......
End Sub
drowsihead 2015-06-16
  • 打赏
  • 举报
回复
简单的办法是再添加一个标记变量 各事件根据标记判断操作
舉杯邀明月 2015-06-16
  • 打赏
  • 举报
回复
楼主参考一下。 注意,输入查询条件的文本框不能是第一个获得焦点的控件, 你可以在窗口设计时,把它右边的那个按钮的 TabIndex属性 设置为0。
Option Explicit

Private Const INITTEXT  As String = "输入后回车即可查询"
Private Const INITCOLOR As Long = &HC0C0C0

Private mlFlag As Long

Private Sub Form_Load()
   mlFlag = 0
   Text1.Text = INITTEXT
   Text1.ForeColor = INITCOLOR
End Sub

Private Sub Text1_GotFocus()
   If (mlFlag) Then Exit Sub
   mlFlag = vbTrue
   Text1.Text = ""
   Text1.ForeColor = 0
End Sub

Private Sub Text1_Validate(Cancel As Boolean)
   If (Text1.Text = ""  Or Text1.Text = INITTEXT) Then
      Text1.Text = INITTEXT
      Text1.ForeColor = INITCOLOR
      mlFlag = 0
   End If
End Sub
楚狂歌 2015-06-16
  • 打赏
  • 举报
回复
默认显示时,调暗“输入回车查询”的颜色 然后在text的got_focus事件里判断text的文本是否为“输入回车查询”,如果是,则清空。如果不是,则选中text的全部内容
amd8750 2015-06-16
  • 打赏
  • 举报
回复
不好意思,上面没有表述清除 我在text增加了使用说明, 然后点击text就可以清除说明,但只有第一次.以后点击不清除内容,这个如何实现?

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧