C# 初始化网格时,同一DataGridView列中的控件不呈现

C# 初始化网格时,同一DataGridView列中的控件不呈现,c#,winforms,datagridview,datagridviewcombobox,datagridviewcheckboxcell,C#,Winforms,Datagridview,Datagridviewcombobox,Datagridviewcheckboxcell,好坏 我在DataGridView列中托管不同的控件。当我在初始化网格的同时添加控件时,控件显示为文本框(错误)。如果在初始化DataGridView后添加控件,则控件将正确呈现(良好) 用户控件: public partial class userCtrl : UserControl { public userCtrl() { InitializeComponent(); } protected override void OnLoad(Ev

好坏

我在DataGridView列中托管不同的控件。当我在初始化网格的同时添加控件时,控件显示为文本框(错误)。如果在初始化DataGridView后添加控件,则控件将正确呈现(良好)

用户控件:

public partial class userCtrl : UserControl
{
    public userCtrl()
    {
        InitializeComponent();
    }

    protected override void OnLoad(EventArgs e)
    {
        ControlsInGridViewColumn();
        base.OnLoad(e);
    }

    public void ControlsInGridViewColumn()
    {
        //same code as above
    }

}
这对我很有用:

    protected override void OnLoad(EventArgs e)
    {
        ControlsInGridViewColumn();  //<- does correctly render controls
        base.OnLoad(e);
    }
protected override void OnLoad(事件参数e)
{
ControlsInGridViewColumn();//+1这适用于表单,但不适用于用户控件,我将编辑我的问题,很抱歉,如果这已变成变色龙问题。
public partial class userCtrl : UserControl
{
    public userCtrl()
    {
        InitializeComponent();
    }

    protected override void OnLoad(EventArgs e)
    {
        ControlsInGridViewColumn();
        base.OnLoad(e);
    }

    public void ControlsInGridViewColumn()
    {
        //same code as above
    }

}
    protected override void OnLoad(EventArgs e)
    {
        ControlsInGridViewColumn();  //<- does correctly render controls
        base.OnLoad(e);
    }