Office中国论坛/Access中国论坛

标题: setfocus对象怎么用啊,请帮忙,在线等候. [打印本页]

作者: olive_fy    时间: 2008-12-29 11:12
标题: setfocus对象怎么用啊,请帮忙,在线等候.
请教,我刚刚学代码,要使一个控件获得焦点,格式什么样子啊?

请帮忙,在线等候.

下面是代码,这样子不能弹出窗口,焦点搞不好,如果删掉第四行(得到焦点的那行),窗口可以弹出.


Private Sub HTN_lostfocus()                    定义htn文本框控件失去焦点后的函数


  If [HTN].Text = "" Then                          判定文本框内容是否为空
  
    MsgBox "请输入热处理批号"                如果是空的弹出提示窗口

    [htn].setfocus=true                              htn文本筐重获焦点
   
Else
End If
End Sub

[ 本帖最后由 olive_fy 于 2008-12-29 11:13 编辑 ]
作者: Henry D. Sy    时间: 2008-12-29 11:16
If isnull([HTN]) Then                          判定文本框内容是否为空
  
    MsgBox "请输入热处理批号"                如果是空的弹出提示窗口

    me.[htn].setfocus
end if
作者: olive_fy    时间: 2008-12-29 11:42
标题: 回复 2# 的帖子
谢谢版主

但是还是只能弹出窗口,焦点回不去啊.设置焦点到别的控件可以,就这个控件不行.

[ 本帖最后由 olive_fy 于 2008-12-29 12:05 编辑 ]
作者: Henry D. Sy    时间: 2008-12-29 12:04
将代码放在更新后
作者: olive_fy    时间: 2008-12-29 12:08
原帖由 Henry D. Sy 于 2008-12-29 12:04 发表
将代码放在更新后


谢谢版主

但是还是只能弹出窗口,焦点回不去啊.设置焦点到别的控件可以,就这个控件不行.

不能放在更新后啊,我是要判定出文本框是空的才要焦点回来的,放在更新后不是焦点一直在这里了?
作者: Henry D. Sy    时间: 2008-12-29 12:08
或者先让其他控件获得焦点,然后再将焦点移到htn
作者: Henry D. Sy    时间: 2008-12-29 12:09
比如
Private Sub Text0_LostFocus()
    If IsNull(Me.Text0) Then
        MsgBox 1
        Me.Text2.SetFocus
        Me.Text0.SetFocus
    End If
End Sub
作者: Henry D. Sy    时间: 2008-12-29 12:10
方法有很多,
这样也可以
Private Sub Text0_Exit(Cancel As Integer)
    If IsNull(Me.Text0) Then
        MsgBox 2
        Cancel = True
    End If
End Sub
作者: olive_fy    时间: 2008-12-29 12:25
非常感谢,很多论坛都没有见到这么热心的版主了.
已经按第一种方法解决.
作者: 83677847    时间: 2009-8-31 17:14
好温暖




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3