2015-11-06 54 views
2

我有一个ComboBox这是我在一个SourceGrid3控制很放置,但由于某些原因,我可以在Enabled属性未设置为true无法启用组合框

这是我的代码。

ComboBox cboMyComboBox = new ComboBox(); 
cboMyComboBox.Enabled = true; 
cboMyComboBox.BeginUpdate(); 
cboMyComboBox.Items.AddRange(new object[] { "Accept", "Reject" }); 
cboMyComboBox.EndUpdate(); 
cboMyComboBox.DropDownStyle = ComboBoxStyle.DropDownList; 
SourceGrid3.Cells.Real.CellControl thisControl = new SourceGrid3.Cells.Real.CellControl(cboMyComboBox); 

myGrid[row, column] = thisControl; 

myGridSourceGrid3网格)

因为当最后一行被执行时,Enabled值被转向false和后续尝试来改变它(如设置回true)某种原因唐没有任何效果。

即使我尝试在Visual Studio调试器中将值更改为true,它也不会允许它,只是将其更改回false。我已经看过了ReadOnly属性为这个领域,但似乎并没有成为一个(除非我失去了一些东西),而且我不能(从NoRightToLeftYes)更改其他属性

还有什么事我可以检查可能导致此控件被强制为false

+0

是不是默认'真'?如果你没有设置属性,它甚至被禁用? –

+0

@FeDe是的,即使我没有明确地将其设置为“true”,它默认为“true”,但是当我将它添加到网格时,它会变为“false”... – colmde

+3

您是否尝试过将Enabled网格上的属性? mybe它被家长控制.. –

回答

5

问题:

如果它存在于所有UI-Elements一般属性被设置为Control它会通过它的价值降低到所有的子元素。

一般来说,这将覆盖此属性的值为全部子控件。

解决方案:

设置Enabled,物业为您Gridtrue,让它 未分配在ComboBox只是删除Enabled=false在你的网格定义。