我想显示一个带有看起来像 DataGridViewTextBoxColumn 的 ComboBox 列的 DataGridView。
在 DataGridView 中,我显示了 DataGridViewTextBoxColumn,当用户在此列中的一个单元格上设置焦点时,该单元格应更改为 ComboBox。
我不知道必须重写哪个函数。
在 DataGridTextBoxColumn 中有功能 Edit,我可以在此功能期间绘制我的组合框吗?
我想显示一个带有看起来像 DataGridViewTextBoxColumn 的 ComboBox 列的 DataGridView。
在 DataGridView 中,我显示了 DataGridViewTextBoxColumn,当用户在此列中的一个单元格上设置焦点时,该单元格应更改为 ComboBox。
我不知道必须重写哪个函数。
在 DataGridTextBoxColumn 中有功能 Edit,我可以在此功能期间绘制我的组合框吗?
除非我遗漏了什么——你应该能够简单地使用 DataGridViewComboBoxColumn 列类型。
根据您添加列的方式,您可以在“添加列”对话框的“类型”下拉列表中选择此类型,也可以像这样以编程方式添加它:
DataGridViewComboBoxColumn col = new DataGridViewComboBoxColumn();
dataGridView1.Columns.Add(col);
为了达到您在编辑之前看起来像文本框的组合框的效果,您将 DataGridViewComboBoxColumn DisplayStyle 属性设置为 Nothing:
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 单元格的基础控件。