关于下拉框赋值的问题!

时间:2022-11-21 19:39:07
有三个下拉框,框1、框2和框三。

在form的Load里面给框1的items赋值,form生成后,根据框1当前选择内容,给框2赋值,框2选择后,根据框2当前选定给框3赋值。如果框2没有选择,框3不能选择。这样的流程在哪里写代码好呢?

我是这样做的:在框1的SelectedIndexChanged事件中,给框2动态赋值,然后在框2的SelectedIndexChanged事件中给框3赋值,可是,却不能完全实现我想要的功能,因为框1选择后,框3的值也跟着变动了。

9 个解决方案

#1


原因:框1选择-->给框2赋值-->框2引发change事件-->导致框3被赋值
处理:初始状态:框2、3的状态设置为:Enabled = false;
框1选择-->启用框2,并赋值,框2选择启用框3并赋值
选择框1的情况下,框3要不可用

#2


我的作法是:在框1生成前设置它的Tag=0;成它生changeSelect事件中,当框1的Tag!=null时就不处理。当框1处理它后再将它的Tag设置为null

#3


这个办法不错,我试试。谢谢啦!
引用 1 楼 ghypnus 的回复:
原因:框1选择-->给框2赋值-->框2引发change事件-->导致框3被赋值
处理:初始状态:框2、3的状态设置为:Enabled = false;
框1选择-->启用框2,并赋值,框2选择启用框3并赋值
选择框1的情况下,框3要不可用

#4


引用 2 楼 xxm30 的回复:
我的作法是:在框1生成前设置它的Tag=0;成它生changeSelect事件中,当框1的Tag!=null时就不处理。当框1处理它后再将它的Tag设置为null


能说的仔细一点吗?关于Tag,我还真没有用过,能把逻辑关系讲下嘛?

#5


引用 2 楼 xxm30 的回复:
我的作法是:在框1生成前设置它的Tag=0;成它生changeSelect事件中,当框1的Tag!=null时就不处理。当框1处理它后再将它的Tag设置为null


这种方法就是用个Tag属性做为是否绑定下个下拉列表的判断条件

#6


我用数据库中记录绑定框的items,但是还想另外加一个不是数据库中的内容,应该怎么代码实现呢?

#7


引用 6 楼 wyzc2005 的回复:
我用数据库中记录绑定框的items,但是还想另外加一个不是数据库中的内容,应该怎么代码实现呢?


搜索  ComBoBox添加项

http://junnan.org/blog/93

#8


可以在框1selectchange事件中先解绑框3的selectchange处理完后再绑上

#9


框1的时候,没有绑定框3啊,只绑定了框2.
引用 8 楼 nube163 的回复:
可以在框1selectchange事件中先解绑框3的selectchange处理完后再绑上

#1


原因:框1选择-->给框2赋值-->框2引发change事件-->导致框3被赋值
处理:初始状态:框2、3的状态设置为:Enabled = false;
框1选择-->启用框2,并赋值,框2选择启用框3并赋值
选择框1的情况下,框3要不可用

#2


我的作法是:在框1生成前设置它的Tag=0;成它生changeSelect事件中,当框1的Tag!=null时就不处理。当框1处理它后再将它的Tag设置为null

#3


这个办法不错,我试试。谢谢啦!
引用 1 楼 ghypnus 的回复:
原因:框1选择-->给框2赋值-->框2引发change事件-->导致框3被赋值
处理:初始状态:框2、3的状态设置为:Enabled = false;
框1选择-->启用框2,并赋值,框2选择启用框3并赋值
选择框1的情况下,框3要不可用

#4


引用 2 楼 xxm30 的回复:
我的作法是:在框1生成前设置它的Tag=0;成它生changeSelect事件中,当框1的Tag!=null时就不处理。当框1处理它后再将它的Tag设置为null


能说的仔细一点吗?关于Tag,我还真没有用过,能把逻辑关系讲下嘛?

#5


引用 2 楼 xxm30 的回复:
我的作法是:在框1生成前设置它的Tag=0;成它生changeSelect事件中,当框1的Tag!=null时就不处理。当框1处理它后再将它的Tag设置为null


这种方法就是用个Tag属性做为是否绑定下个下拉列表的判断条件

#6


我用数据库中记录绑定框的items,但是还想另外加一个不是数据库中的内容,应该怎么代码实现呢?

#7


引用 6 楼 wyzc2005 的回复:
我用数据库中记录绑定框的items,但是还想另外加一个不是数据库中的内容,应该怎么代码实现呢?


搜索  ComBoBox添加项

http://junnan.org/blog/93

#8


可以在框1selectchange事件中先解绑框3的selectchange处理完后再绑上

#9


框1的时候,没有绑定框3啊,只绑定了框2.
引用 8 楼 nube163 的回复:
可以在框1selectchange事件中先解绑框3的selectchange处理完后再绑上