以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有关窗口控件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22679)

--  作者:祁阳
--  发布时间:2012/8/21 11:01:00
--  有关窗口控件

假设窗口中有ComboBox1和CheckedComboBox1两个控件,如在窗口控件ComboBox1的TextChangedg事件中写入:

If e.Form.Controls("ComboBox1").Text = "是" Then
    e.Form.Controls("CheckedComboBox1").Enabled= True
Else
    e.Form.Controls("CheckedComboBox1").Enabled= False
End If

在实际应用中,当ComboBox1文本改变为"是"CheckedComboBox1控件可用,但我想达到以下功能:

1.直接判断ComboBox1文本为\'\'是\'\'时CheckedComboBox1控件可用;

2.当ComboBox1文本为\'\'否\'\'时,清除CheckedComboBox1控件原内容;

3.当光标进入CheckedComboBox1控件时,自动弹出下拉列表项目,当勾选选定列表项目后,按回车键可以直接填入选定内容(想去掉系统默认要点击“确定”)。

请高手出手指点一下。


--  作者:祁阳
--  发布时间:2012/8/21 11:06:00
--  

说明一下:“2.当ComboBox1文本为\'\'否\'\'时,清除CheckedComboBox1控件原内容;”指的是比如我要修改ComboBox1写入内容时这种情况,好像有点问题,因为这时CheckedComboBox1又不可用。


--  作者:狐狸爸爸
--  发布时间:2012/8/21 11:26:00
--  

设置CheckedComboBox1的Enter事件代码:

 

Dim ckb As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
If e.Form.Controls("ComboBox1").Text = "是" Then
    e.sender.ReadOnly = BooleanEnum.False
    ckb.OpenDropDown
Else
    e.sender.ReadOnly = BooleanEnum.True
    ckb.Value = Nothing
nd If