除非我遗漏了一些东西 - 你应该能够简单地使用DataGridViewComboBoxColumn列类型。
取决于你如何将你的专栏,你要么选择这个类型在类型中添加列对话框落下或programarically添加它,像这样:
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
dataGridView1.Columns.Add(col);
要实现你的后效应组合框,看起来像一个文本框,直到你编辑它,你设置DataGridViewComboBoxColumn的DisplayStyle财产是没有什么:
List<string> names = new List<string> { "Joe", "Sally", "Kate" };
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
col.DataSource = names;
col.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
dataGridView1.Columns.Add(col);
您也可以通过EditingControlShowing事件进入一个DataGridView细胞的底层控制。
是的,但我想要所有列作为DataGridViewTextBoxColumn,并且直到用户单击到单元格,此单元格应该更改为DataGridViewComboBoxCell。 – Robert
我在想这样的事情:http://www.akadia.com/services/dotnet_combobox_in_datagrid.html – Robert
@albert所以你想要一个comboboxcolumn似乎是一个文本框,直到它被点击? –