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
}
}