2010-04-15 149 views
3

我创建了一个从Windows.System.Forms.Controls继承的自定义控件。将自定义控件添加到DataGridViewCell

这是我此控件的代码:

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:我是法国人,我对语言错误的任何可以道歉。

回答

7

我假设你正在使用Winforms?

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

从教程:

DataGridView控件提供 数列类型,使您的 用户以 多种方式输入和编辑值。如果这些列类型 不符合您的数据输入需求,但是,您可以创建您自己的 列类型,并使用您所选择的控制器的单元格。为此, 您必须定义DataGridViewColumn和 从DataGridViewCell派生 的类。您还必须定义从Control派生的类 ,并且实现 IDataGridViewEditingControl接口。

+0

谢谢你的回答,我会看到这个。 – Kovscer 2010-04-15 19:21:45

相关问题