当有两个文本框的时候?

jhtzz 2004-11-21 10:04:30
当有两个文本框的时候?有什么方法可以知道哪一个文框有焦点,也就是我要知道当前操作是对哪个文本框操作的?
...全文
161 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxcc 2004-11-23
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
If Text1.DataChanged = True Then
MsgBox "Text1数据改变过"
End If

If Text2.DataChanged = True Then
MsgBox "Text2数据改变过"
End If
End Sub
jhtzz 2004-11-23
  • 打赏
  • 举报
回复
可以了,上面的方法实现了,谢谢大家
qidaozhilong 2004-11-22
  • 打赏
  • 举报
回复
Option Base 0
'==========================code==========================
Dim flag As Boolean
Private Sub Command1_Click()
IIf(flag,debug.print Text1.Text,debug.print Text2.text)
End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
IIf(index=0,flag=true,flag=false)
End Sub
dongge2000 2004-11-22
  • 打赏
  • 举报
回复
Option Explicit
Dim i As Integer
Private Sub Command1_Click()
MsgBox Text1(i).Text
End Sub

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
If Index = 0 Then
i = 0
ElseIf Index = 1 Then
i = 1
End If
End Sub
route2 2004-11-22
  • 打赏
  • 举报
回复
试试这样子
dim sLastFocus As string

Private Sub Text1_LostFocus()
sLastFocus = "Text1"
End Sub

Private Sub Text2_LostFocus()
sLastFocus = "Text2"
End Sub

Private Sub Command1_Click()
MsgBox "Last focus: " + sLastFocus
End Sub
还想懒够 2004-11-22
  • 打赏
  • 举报
回复
在GotFocus事件里面写入标志
jhtzz 2004-11-21
  • 打赏
  • 举报
回复
取得上次文本框操作的焦点
jhtzz 2004-11-21
  • 打赏
  • 举报
回复
是的,我知道就是集点以经到了Command1上去了,所以我想问有什么方法取得这个焦点?
jhtzz 2004-11-21
  • 打赏
  • 举报
回复
不是,我的点击操作必需在Command1里面体现出来,不是在文本框得到或丢失的时候体现出来.
Coyozo 2004-11-21
  • 打赏
  • 举报
回复
Text2Foce As Boolean

Private Sub Text2_GotFocus()
DoEvents
Text2Foce = True
MsgBox "OK"
End Sub

Private Sub Text2_LostFocus()
DoEvents
Text2Foce = False
MsgBox "NO"
End Sub
Coyozo 2004-11-21
  • 打赏
  • 举报
回复
因为焦点到Command1上了
jhtzz 2004-11-21
  • 打赏
  • 举报
回复
其实我写了如下代码:
Text2Foce As Boolean

Private Sub Text2_GotFocus()
DoEvents
Text2Foce = True
End Sub

Private Sub Text2_LostFocus()
DoEvents
Text2Foce = False
End Sub

Private Sub Command1_Click()
If Text2Foce Then
MsgBox "OK"
Else
MsgBox "NO" '但结果却一直都是这个
End If
End Sub
jhtzz 2004-11-21
  • 打赏
  • 举报
回复
好了出错了,其实我的意思是上一个得到焦点的控件(如文本框),重说一遍:我有两个文本框,Text1,Text2,Command1,那么我要在Text1或在Text2里面输入东西,输入完后我要点击Command1来取得数据,可是我就竟是取Text1里面的东西还是取Text2里的东西呢,所以我要知道用户在点击按扭的时候曾在点击之前所对哪个文本框操作过,这样我好那个文本框的内容.
tztz520 2004-11-21
  • 打赏
  • 举报
回复

MsgBox Me.ActiveControl.Name'这个就是当前获得焦点的控件名
jhtzz 2004-11-21
  • 打赏
  • 举报
回复
OK,但我感觉还是不好,不过也可以用
danielinbiti 2004-11-21
  • 打赏
  • 举报
回复
在setFocus里写控制变量,或者把文本框做成控件数组比较容易点。
Gujianda 2004-11-21
  • 打赏
  • 举报
回复
设个变量,随便什么性质的,比如 String 型,然后在文本框键盘事件中给这个变量赋值。
在点击按钮时,先判断这个变量的值再做处理。我的理解不知道对否?

1,486

社区成员

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

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