将自定义控件添加到DataGridViewCell [英] Add Custom Control to DataGridViewCell

查看:528
本文介绍了将自定义控件添加到DataGridViewCell的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建一个从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énementInitialiser;
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:我是法国人,对于任何语言错误都可以道歉。

$ b $我会假设你使用的是Winforms?



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



从教程:


DataGridView控件提供
几个列类型,使您的
用户能够输入和编辑值各种各样的方式。如果这些列类型
不符合您的数据输入需求,那么
,但是您可以创建自己的
列类型,其中包含您选择的
控件的单元格。为此,
您必须定义从DataGridViewColumn和
DataGridViewCell派生
的类。您还必须定义
一个派生自Control的类,
实现
IDataGridViewEditingControl接口。



I create a custom control inherited from Windows.System.Forms.Controls.

This is my code of this control:

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

    }

I would like to insert this control or multiple of this control on a DataGridViewCell but i don't know how to do this.

Thank you in advance for your answer,

Best Regards,

PS: I'm french, i'm apologize for any can of language errors.

解决方案

I would assume you are using Winforms?

Here is an MSDN tutorial on how to host a control in a Winforms DataGridViewCell.

From the tutorial:

The DataGridView control provides several column types, enabling your users to enter and edit values in a variety of ways. If these column types do not meet your data-entry needs, however, you can create your own column types with cells that host controls of your choosing. To do this, you must define classes that derive from DataGridViewColumn and DataGridViewCell. You must also define a class that derives from Control and implements the IDataGridViewEditingControl interface.

这篇关于将自定义控件添加到DataGridViewCell的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆