combobox的问题?????

Free_Windy 2004-10-31 11:26:03
我在用combobox遇到过两个问题:
1\当style=0时,有些用户就会直接从里面输入数据,
怎样限定用户只能从列表中选择而不能手工输入?


2\当style=2时,虽然可以限制用户不能输入,但当需要修改数据时
比如:cbo1=rs.fields(2)这样就会提示出错,因为cbo1为不可编辑的.


请问如何处理以上两个问题?
...全文
161 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Free_Windy 2004-11-18
  • 打赏
  • 举报
回复
cbo1.Additem rs.fields(2)
cbo1=rs.fields(2)
此方法不错,但若遇到rs.fields(i)为null时就又出现同样的错误了.

还请高手继续帮忙,若需要分,在下可另行开贴给分.
Free_Windy 2004-11-16
  • 打赏
  • 举报
回复
of123()
的方法不错
northwolves 2004-11-01
  • 打赏
  • 举报
回复
style=0

Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
Clipboard.SetText Combo1.Text
End Sub

Private Sub Combo1_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub

Private Sub Form_Load()
Combo1.AddItem "a"
Combo1.AddItem "b"
End Sub

还应该禁止通过菜单或shift+insert 粘贴
of123 2004-11-01
  • 打赏
  • 举报
回复
cbo1.Additem rs.fields(2)
cbo1=rs.fields(2)
leolan 2004-11-01
  • 打赏
  • 举报
回复
'2\当style=2时,虽然可以限制用户不能输入,但当需要修改数据时
比如:cbo1=rs.fields(2)这样就会提示出错,因为cbo1为不可编辑的.

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const CB_FINDSTRING = &H14C

cbo1.ListIndex = SendMessage(cbo1.hwnd, CB_FINDSTRING, -1, ByVal rs.fields(2))

1,451

社区成员

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

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