将自定义控件添加到DataGridViewCell

时间:2010-04-15 17:13:00

标签: 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");
        }

    }

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

提前感谢您的回答,

最诚挚的问候,

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

1 个答案:

答案 0 :(得分:8)

我会假设您使用的是Winforms?

Here是关于如何在Winforms DataGridViewCell中托管控件的MSDN教程。

从教程:

  

DataGridView控件提供   几种列类型,使您的   用户输入和编辑a中的值   各种方式。如果这些列类型   不满足您的数据输入需求,   但是,你可以创建自己的   包含托管单元格的列类型   你选择的控件。去做这个,   你必须定义派生的类   来自DataGridViewColumn和   DataGridViewCell的。你还必须定义   一个派生自Control和的类   实现   IDataGridViewEditingControl接口。