2010-12-20 76 views
3

我有一个使用大量DataGridView控件的项目。大多数单元格都是DataGridViewTextBoxCell说服。我宣布我的控制,像这样:如何防止用户将数据输入到DataGridViewComboBoxCells中?

Dim MyCell as DataGridViewCell 

后来我指定他们是否是DataGridViewTextBoxControls或DataGridViewComboBoxCells像这样:

MyCell = New DataGridViewTextBoxCell ...or... 
MyCell = New DataGridViewComboBoxCell 

在我的代码的地方都不需要为用户输入自己的能力组合框中的值。也就是说,它们要么是硬编码的,要么是从应用程序中的其他数据收集值。

目前,用户可以突出显示如上所示定义的组合框控件,并开始输入他们喜欢的任何东西。例如,我有一个组合框,为用户提供1到9之间的整数选择。我可以突出显示组合框单元格并输入“Hello,World!”。如果我愿意。

需要什么来禁用此功能?我确定有一个财产,但我还没有找到它。我搜索了互联网,发现只有将用户输入的值添加到列表和一串数据绑定教程的功能。

预先感谢您! ç

回答

3

检查here

编辑

我也许应该投入更多的信息,但我累了,感觉有些不舒服,所以我觉得好像是懒惰......但没有你不得不毁掉我的懒惰,并迫使我再打一些。 (大声笑只是开玩笑)。

基本上,您在组合框中看到的comboxbox是acutally组合框控件(Tired = Bad Engrish)。

从我记得,你应该能够通过使用datagridview的EditingControlShowing事件获得在单元格中使用的控件。一旦你设置了下拉式。

像:

Private Sub datagridview_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) 

    Dim c As ComboBox = e.Control 

    If Not c Is Nothing Then 

     c.DropDownStyle = ComboBoxStyle.DropDownList 

    End If 

End Sub 
+0

如果这是一个直线上升的ComboBox控件,而不是一个的DataGridViewComboBoxCell,这将很好地工作。除非DataGridViewComboBoxCells允许他们使用这个属性,并且我还没有找到它。 – Superhuman 2010-12-20 18:05:21

+0

请参阅更新上图:P – 2010-12-20 18:17:53

+0

请参阅?这就是我寻找的魔法! – Superhuman 2010-12-20 18:36:38

相关问题