Einfügen von Buttons in einer DataGrid-Kopfzeile
Frank Dzaebel, erstellt am: 21.06.2005, zuletzt geändert: 21.06.2005
Kategorie:DataGrid, .NET-Version:1.1 

Hier wird ein Beispiel für das Einfügen eines Buttons in eine DataGrid-Kopfzeile gegeben. Dies wird in der Essenz darüber erreicht, dass man der Controls-Auflistung eines eigenen abgeleiteten DataGrid's mittels "this.Controls.Add(button1)" das gewünschte Control zufügt:
 
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

namespace DataGridButton2
{
  /// <summary>Zusammenfassung für MyDataGrid.</summary>
  public class MyDataGrid : DataGrid
  {
    private System.Windows.Forms.Button button1;
    /// <summary> Erforderliche Designervariable.</summary>
    private System.ComponentModel.Container components = null;

    private void button1_Click(object sender, System.EventArgs e)
    {
      MessageBox.Show("Moin Moin");
    }

    public MyDataGrid()
    {
      InitializeComponent();
      this.CaptionFont = new Font("Arial", 16);
      button1.Location = new Point(this.Location.X+6,this.Location.Y+6);
      this.Controls.Add(button1); button1.BringToFront();
    }

    /// <summary> Die verwendeten Ressourcen bereinigen.</summary>
    protected override void Dispose( bool disposing )
    {
      if(disposing)  if(components != null) components.Dispose();
      base.Dispose( disposing );
    }

    #region Vom Komponenten-Designer generierter Code
    /// <summary> 
    /// Erforderliche Methode für die Designerunterstützung. 
    /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
    /// </summary>
    private void InitializeComponent()
    {
      this.button1 = new System.Windows.Forms.Button();
      ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
      this.SuspendLayout();
      // 
      // button1
      // 
      this.button1.Location = new System.Drawing.Point(8, 6);
      this.button1.Name = "button1";
      this.button1.TabIndex = 0;
      this.button1.Text = "Markus";
      this.button1.Click += new System.EventHandler(this.button1_Click);
      // 
      // MyDataGrid
      // 
      this.Controls.Add(this.button1);
      this.Size = new System.Drawing.Size(307, 243);
      ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
      this.ResumeLayout(false);

    }
    #endregion
  }
}