C# DataGridViewCell继承-单元渲染

C# DataGridViewCell继承-单元渲染,c#,winforms,datagridview,C#,Winforms,Datagridview,我是WinForms和C的新手,如果这是一个糟糕的问题,我深表歉意 我正在尝试创建自己的cell类,以便在DataGridView中使用(最终的计划是根据其他属性显示组合框或文本框,但目前我甚至无法将其作为普通文本框使用)。问题是,虽然我可以设置EditType并在单元格中输入值,但每当我不处于编辑模式时,我就看不到单元格或值(我通过制表符和按F2键进入单元格)。这是我课程的开始: class DataGridViewComboOrTextBox : DataGridViewCell, IDat

我是WinForms和C的新手,如果这是一个糟糕的问题,我深表歉意

我正在尝试创建自己的cell类,以便在DataGridView中使用(最终的计划是根据其他属性显示组合框或文本框,但目前我甚至无法将其作为普通文本框使用)。问题是,虽然我可以设置EditType并在单元格中输入值,但每当我不处于编辑模式时,我就看不到单元格或值(我通过制表符和按F2键进入单元格)。这是我课程的开始:

class DataGridViewComboOrTextBox : DataGridViewCell, IDataGridViewEditingCell
{

    public override Type EditType
    {
        get
        {
            return typeof(DataGridViewTextBoxEditingControl);
        }
    }

    public override Type FormattedValueType
    {
        get
        {
            return typeof(string);
        }
    }

我想知道是否需要覆盖绘制方法或其他内容?

的示例中不包含单元格绘制代码,但还有其他内容您没有。看看它是否解决了您的问题。

像往常一样,有一个更简单的解决方案,我没有意识到我可以在添加行时设置单元格:grid[1,I]=new-DataGridViewTextBoxCell();或grid[1,i]=新的DataGridViewComboxCell();视情况而定。我假设设计模式中的替代列类型将应用。。。。尽管如此,我仍然对我上面的问题感到困惑。。。