ComboBox实现联动时所遇问题,待解!

发现WinForm的ComboBox与Web中的DropdownList还是有差别的,晚上回家没事写联动时,发现有如下问题,先记录下来,待知识量上升后再进行解决,虽然问题现在也已解决,但极为别扭。

实现代码如下:

Code

当窗体每一次加载时,执行到BindFromContent()就会触发cmbConsumeBigProject_SelectedValueChanged事件,

此时的33行代码DataRowView drv = this.cmbConsumeBigProject.SelectedValue as DataRowView;中的drv不为空!

当窗体加载完后,再次触发了cmbConsumeBigProject_SelectedValueChanged事件后,

此时的33行代码DataRowView drv = this.cmbConsumeBigProject.SelectedValue as DataRowView;中的drv为空,且SelectedValue是相应的ID值!

综上所述:难道是因为窗体首次加载时,在执行16行代码this.cmbConsumeBigProject.DataSource = dtBigProject;就触发了cmbConsumeBigProject_SelectedValueChanged事件,而此刻cmbConsumeBigProject.DataSource绑定的每一项都是DataRowView,直到执行了18行代码this.cmbConsumeBigProject.ValueMember = "ID"; 后,才为cmbConsumeBigProject的ValueMember值绑上ID属性,所以才有了以上情况?

那这个问题又应该如何解决呢?是不是我的实现方式有问题?

效果图如下:

本人初学WinForm开发,以上内容是个人整理以便有需而用,其若有误,烦请帮忙指点更正,衷心感谢!BlackCore敬上!

原文地址:https://www.cnblogs.com/blackcore/p/1605724.html