重开一贴,再问combobox的BUG问题
SWJGComboBox.DataBindings.Add(new   System.Windows.Forms.Binding( "SelectedValue ",   this.sb_zsxxBindingSource,    "nsr_swjg_dm ",   true)); 
 this.dM_SWJGComboBox.DataSource   =   this.dM_SWJGBindingSource; 
 this.dM_SWJGComboBox.DisplayMember   =    "SWJG_JC "; 
 this.dM_SWJGComboBox.DropDownStyle   =   System.Windows.Forms.ComboBoxStyle.DropDownList; 
 this.dM_SWJGComboBox.ValueMember   =    "SWJG_DM ";   
 private   void   dM_SWJGComboBox_SelectedIndexChanged(object   sender,   EventArgs   e) 
 { 
                                     this.dataSet1.sb_zsxx.Rows[BindingSource1.Position][ "SWJG_MC "]   =   dM_SWJGComboBox.Text;   
 }   
 以上为代码,奇怪的是下拉列表选择项的时候,经常随机出现无法选择项目的问题,我认为这是这个控件的一个BUG。查了很多资料,都没有解决。特再发一贴,请高人指点这个错误的原因是什么,应当怎么样解决。 
 而去掉this.dataSet1.sb_zsxx.Rows[BindingSource1.Position][ "SWJG_MC "]   =   dM_SWJGComboBox.Text; 
 这句下拉列表就能正常显示。   
 怀疑一个原因是:当SelectedIndexChanged事件发生时,数据源要与combobox中的选择项同步,而这时如果再更新同一数据源的内容,系统就会造成一个定位的错误。 
------解决方案--------------------是bug吗?
------解决方案--------------------基本上 
 private void dM_SWJGComboBox_SelectedIndexChanged(object sender, EventArgs e) 
 { 
             this.dataSet1.sb_zsxx.Rows[BindingSource1.Position][ "SWJG_MC "] = dM_SWJGComboBox.Text;   
 } 
 加上这段代码是没意义的,本身sb_zsxxBindingSource已默认跟下拉项同步   
 而无法选择项目的原因是 
 this.dM_SWJGComboBox.DisplayMember =  "SWJG_JC "; 
 this.dM_SWJGComboBox.ValueMember =  "SWJG_DM "; 
  "SWJG_DM "与 "SWJG_JC "是不同的数据类型,它默认DisplayMember的数据项也就是 "SWJG_JC " 
 当 "SWJG_DM "与 "SWJG_JC "是不同的数据类型时拒绝选择     
------解决方案--------------------按照你的描述:下拉列表选择项的时候   
 可能是你的代码 
 this.dataSet1.sb_zsxx.Rows[BindingSource1.Position][ "SWJG_MC "] = dM_SWJGComboBox.Text; 
 执行了两次 个人以为你先弄个计数器试试,测试一下是否执行了两次   
 SelectedIndexChanged 在一个被选择的项不被选择的时候触发一次 
 然后再另一个项被选中的时候触发一次 (个人理解是这样,没试过所以不确定)
------解决方案--------------------当SelectedIndexChanged事件发生时,数据源要与combobox中的选择项同步,而这时如果再更新同一数据源的内容,系统就会造成一个定位的错误。   
 你可以重新绑定数据源
------解决方案--------------------微软没这么吧!
------解决方案--------------------纠正一下 
 是dM_SWJGBindingSource默认跟下拉项同步   
 无法选择项目的原因是 
 SWJGComboBox.DataBindings.Add(new System.Windows.Forms.Binding( "SelectedValue ", this.sb_zsxxBindingSource,  "nsr_swjg_dm ", true)); 
 this.dM_SWJGComboBox.DataSource = this.dM_SWJGBindingSource; 
 this.dM_SWJGComboBox.DisplayMember =  "SWJG_JC "; 
 this.dM_SWJGComboBox.ValueMember =  "SWJG_DM ";   
 选择下拉项dM_SWJGComboBox只认DisplayMember 
 因为DataBindings的 "nsr_swjg_dm "列与dM_SWJGBindingSource的 "SWJG_JC "列是不同的数据类型 所以程序拒绝选择下拉
------解决方案--------------------this.dataSet1.sb_zsxx.Rows[BindingSource1.Position][ "SWJG_MC "] = dM_SWJGComboBox.Text; 
 顺便问一下这句的意义在哪 ?BindingSource1指哪个?
------解决方案--------------------请问楼主是?dm??