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

相關問題