我有一个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;
(myGrid
是SourceGrid3
网格)
由于某种原因,当执行最后一行时,Enabled
值将变为false
,随后尝试更改它(如将其设置回true
)不会产生任何效果。
即使我尝试在Visual Studio调试器中将值更改为true
,它也不允许,只是将其更改回false
。我已经为此字段寻找了ReadOnly
属性,但似乎没有(除非我遗漏了什么)。此外,我可以更改其他属性(如RightToLeft
从No
更改为Yes
)
还有什么我可以检查的可能导致该控件被强制为false
的内容吗?
问题:
如果为Control
设置了存在于所有UI-Elements
中的通用属性,则它将把其值传递给所有子元素。
一般来说,这将覆盖所有子控件的此属性的值。
解决方案:
将
Grid
的Enabled
-属性设置为true
并保留它在ComboBox
或中取消分配,只需删除网格定义中的Enabled=false
即可。