C# 实现IDataGridViewEditingCell但又具有编辑控件的自定义DataGridView列?

C# 实现IDataGridViewEditingCell但又具有编辑控件的自定义DataGridView列?,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,我即将开始开发一个自定义日历列。我设计了一个列,它实现了IDataGridViewEditingCell,允许用户编辑内容,而不必先让单元格进入编辑模式(是一个弹出式编辑框) 对于“我的日历”列,如果用户单击将与单元格右侧对齐的日历图标,我希望具有此功能,这将弹出一个不同的控件,因此单元格无需进入编辑模式,从而减少用户的单击次数 然而,我也希望用户能够自己在单元格中键入日期,如果他们想键入日期的话(对于打字员来说通常更快),在这种情况下,单元格需要进入编辑模式,并为用户提供适当的编辑控件 有关此

我即将开始开发一个自定义日历列。我设计了一个列,它实现了
IDataGridViewEditingCell
,允许用户编辑内容,而不必先让单元格进入编辑模式(是一个弹出式编辑框)

对于“我的日历”列,如果用户单击将与单元格右侧对齐的日历图标,我希望具有此功能,这将弹出一个不同的控件,因此单元格无需进入编辑模式,从而减少用户的单击次数

然而,我也希望用户能够自己在单元格中键入日期,如果他们想键入日期的话(对于打字员来说通常更快),在这种情况下,单元格需要进入编辑模式,并为用户提供适当的编辑控件

有关此接口的MSDN文档说明如下:

此接口由DataGridViewCheckBoxCell等类实现,这些类派生自DataGridViewCell,并提供用于指定值的用户界面(UI),而无需承载编辑控件。在这种情况下,无论单元格是否处于编辑模式,都会显示UI

其他单元格类型(如DataGridViewButtonCell)提供UI,但不存储用户指定的值。在这种情况下,单元格类型不实现IDataGridViewEditingCell或承载编辑控件

当单元格处于编辑模式时显示编辑控件的单元格类型(如DataGridViewTextBoxCell)不实现IDataGridViewEditingCell,而是提供实现IDataGridViewEditingControl的伴随类。例如,DataGridViewTextBoxCell提供一个DataGridViewTextBoxEditing控件,该控件派生自TextBox控件并实现IDataGridViewEditingControl。在这种情况下,cell EditType属性设置为表示编辑控件类型的类型对象

对我来说,这意味着单元格无法实现此接口并承载编辑控件


是否有人有过这种情况的经验,我的选择是什么?

我从本文档中收集到的信息是,在实现
IDataGridViewEditingCell
时,该单元格就是编辑控件。要获得所需的功能,必须创建一个DataGridViewCalendarCell和一个关联的
DataGridViewCalendarEditingControl
,该控件由列中的所有单元格共享。你可能还需要制作一个
DataGridViewCalendarColumn

如果你能分享你的代码,那将为我们添加一些线索:)还没有代码,我想在我深入之前我会问一下。是的,我意识到我也需要一个专栏。IDataGridViewEditingCell界面是为简单的交互而设计的,不像允许用户类型进入单元格那样。我想我只需要使用一个标准的编辑控件,如果用户单击日历图标,我会尝试强制单元格进入编辑模式。