将自定义控件添加到DataGridViewCell

Kov*_*cer 4 c# datagridview custom-controls

我创建了一个继承自Windows.System.Forms.Controls的自定义控件.

这是我控制的代码:

   public partial class MonthEventComponent : Control
    {
        private Color couleur;
        private Label labelEvenement;

        public MonthEventComponent(Color couleur_c, String labelEvenement_c )
        {
            InitializeComponent();
            this.couleur = couleur_c;
            this.labelEvenement.Text = labelEvenement_c;
            this.labelEvenement.ForeColor = couleur;
            this.labelEvenement.BackColor = Color.White;
            this.labelEvenement.TextAlign = ContentAlignment.MiddleLeft;
            this.labelEvenement.Dock = DockStyle.Fill;
            this.Controls.Add(labelEvenement);
        }

        public MonthEventComponent()
        {
            InitializeComponent();
            this.couleur = Color.Black;
            this.labelEvenement = new Label();
            this.labelEvenement.ForeColor = couleur;
            this.labelEvenement.BackColor = Color.White;
            this.labelEvenement.Text = "Evénement Initialiser";
            this.labelEvenement.TextAlign = ContentAlignment.MiddleLeft;
            this.labelEvenement.Dock = DockStyle.Fill;

            this.Controls.Add(labelEvenement);

        }


        protected override void OnClick(EventArgs e)
        {
            base.OnClick(e);

            MessageBox.Show("Click");
        }

    }
Run Code Online (Sandbox Code Playgroud)

我想在DataGridViewCell上插入此控件或多个此控件,但我不知道如何执行此操作.

提前感谢您的回答,

最好的祝福,

PS:我是法国人,我为任何语言错误道歉.

Zac*_*son 8

我会假设你使用Winforms?

是一个关于如何在Winforms中托管控件的MSDN教程DataGridViewCell.

从教程:

DataGridView控件提供多种列类型,使您的用户可以通过各种方式输入和编辑值.但是,如果这些列类型不满足您的数据输入需求,则可以使用托管您选择的控件的单元格创建自己的列类型.为此,您必须定义从DataGridViewColumn和DataGridViewCell派生的类.您还必须定义一个派生自Control的类并实现IDataGridViewEditingControl接口.