以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  下拉窗口问题:关于TextChanged事件设置  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=16240)

--  作者:reachtone
--  发布时间:2012/2/7 1:46:00
--  下拉窗口问题:关于TextChanged事件设置

如果下拉组合框绑定了字段,而且,还在TextChanged事件中设置了自动打开下拉窗口。

问题是,只要移动表格中的记录行,下拉窗口就会自动弹出,因为激活了TextChanged事件。

怎样才能做到:只需要在下拉组合框中输入内容时才弹出窗口?在移动表记录时不弹出?

尝试用配置参数来控制,但测试了很久也达不到目的。

 

例子在这里:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24.table


--  作者:程兴刚
--  发布时间:2012/2/7 2:45:00
--  

给您的代码增加一层判断,判断焦点即可:

 

If e.Form.Controls("DropBox1").Focused = True
    If e.Sender.Gettype.name = "DropDownBox" Then
         e.Sender.OpenDropDown
        Tables("窗口2_Table1").Filter = "[第一列] like \'%" & e.Sender.Text & "%\'"
    End If
End If

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24.table

[此贴子已经被作者于2012-2-7 2:49:20编辑过]

--  作者:reachtone
--  发布时间:2012/2/7 8:40:00
--  

奇怪了,实际项目中也是加了焦点判断的,怎么还是照样弹出呢?

也可能是其它地方有问题,多谢!


--  作者:程兴刚
--  发布时间:2012/2/7 8:51:00
--  
您再查一查,看是不是控件名引用错了,如果判断了焦点,不应该是其他原因造成的!
[此贴子已经被作者于2012-2-7 8:51:32编辑过]

--  作者:reachtone
--  发布时间:2012/2/7 9:01:00
--  

问题找到了:在原来的项目中,表的currentchanged事件中执行了一个函数,这个函数在做一些判断时,把焦点又移动到了录入面板中.

currentchanged事件最后加上一行e.Table.Focus搞定。