向DataGridView单元格添加自定义控件

6

我创建了一个继承自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");
        }

    }

我想在DataGridViewCell上插入这个控件或多个控件,但我不知道如何做。

提前感谢您的答复,

最好的问候,

PS:我是法国人,如果有任何语言错误,请原谅。

1个回答

8
I would assume you are using Winforms?
这里有一篇微软MSDN的教程(链接),介绍如何在Winforms的DataGridViewCell中托管控件。
从教程中可以了解到:

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


1
谢谢你的回答,我会看一下。 - Kovscer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接