1

我已经实现了自定义DataGridViewColumn、、DataGridViewCellDataGridViewEditingControl类,如MSDN 示例中所示。

我遇到的问题是,虽然DateTimePicker在 MSDN 示例中能够弹出它的日历选择器并让它出现在下面行的顶部,以及与之相邻的单元格;我的控件被困在 DGV 单元大小定义的空间内。我的控件由一个文本框和一个自动完成建议列表组成;所以我需要一种方法来显示列表,而不会使行高几倍。

由于我从 MSDN 中获取了示例,并且仅更改为交换和其他相关更改的扩展,DateTimePicker因此MyControl我认为魔术正在基DateTimePicker类中发生;但不知道我需要在控件中进行哪些更改才能使其行为相同。

4

1 回答 1

3

您实现的DataGridViewEditingControl大小,移动到单元格区域,并在单元格进入编辑模式时可见。除了编辑控件之外,您还需要一个“弹出控件”,您可以在编辑控件变为活动时创建它,并在它变为非活动时销毁它。

这是一个简单的 WinForms 弹出控件示例: http: //www.codeproject.com/Articles/17502/Simple-Popup-Control

但是,如果您想要的只是一个具有自动完成功能的单元格,您可以使用 stockDataGridViewTextBoxColumnDataGridViewComboBoxColumn.

http://bytes.com/topic/c-sharp/answers/442061-autocompletestringcollection-text-box-datagridview-2-0-a

于 2012-11-02T18:14:56.360 回答