2017-02-17 7 views
0

Ich habe ein benutzerdefiniertes Steuerelement erstellt, das von datagridview übernommen wurde. Ich muss mehrere andere Steuerelemente hinzufügen (ein paar Textfelder, Schaltflächen usw.), aber seit ich von datagridview geerbt habe, nimmt es das gesamte Rechteck ein (Zeichnungsbereich). Ich habe nach einem Beispiel oder einer Methode gesucht, um Folgendes zu tun: Zeichnen Sie die Datagridview (benutzerdefiniertes Steuerelement), sondern auch mehrere Schaltflächen darunter.C# benutzerdefiniertes Steuerelement, das vorhandene Steuerelemente implementiert

Ich glaube, ich muss stattdessen von der Standard-Windows-Form-Steuerelement erben und dann die Datagridview in einem Abschnitt und die Schaltflächen auf den anderen Abschnitt zeichnen. Bei meiner Suche habe ich jedoch keinen Weg gefunden, dies zu tun. Vielleicht suche ich die falsche Frage oder betrachte es falsch. Wie kann ich ein benutzerdefiniertes Steuerelement erstellen, auf dem mehrere vorhandene Steuerelemente angezeigt werden?

+1

klingt wie ein User Control ist, was Sie nach – Plutonix

+0

sind Ja. Danke, du hast etwas gesucht und es scheint richtig zu sein. Danke, dass Sie mich in die richtige Richtung weisen. – lesyriad

+0

Wie Plutonix gesagt hat, möchten Sie nicht vom Gitter erben, Sie wollen ein Benutzersteuerelement erstellen und ein Gitter und alle Steuerelemente hinzufügen, die Sie benötigen. – Gusman

Antwort

2

Sie können von TableLayoutPanel erben und das benutzerdefinierte DataGridView-Steuerelement in einer Zelle und die anderen erforderlichen Steuerelemente in den anderen Zellen hinzufügen.

Dies würde es Ihnen ermöglichen, diese Klasse als ein allumfassendes Steuerelement mit Ihrem integrierten DataGridView-Steuerelement und den erforderlichen darin enthaltenen Schaltflächen zu verwenden.

Zum Beispiel:

// Using Statements. 

namespace MyNameSpace 
{ 
    public class MyControl : TableLayoutPanel 
    { 
     // Declare instances of the controls you need. 
     CustomDataGridView myDataGridControl; 
     Button button1; 
     Button button2; 
     // etc... 

     public MyControl() 
     { 
      // Define TableLayoutPanel properties here, 
      // e.g. columns, rows, sizing... 

      myDataGridControl = new CustomDataGridView(); 
      // Define your custom DataGridView here. 

      button1 = new Button(); 
      // First button properties. 

      button2 = new Button(); 
      // Second button properties. 

      // Assign these controls to TableLayoutPanel 
      // in the specified cells. 
      Controls.Add(myDataGridControl, 0, 0); 
      Controls.Add(button1, 0, 1); 
      Controls.Add(button2, 1, 1); 
     } 

     // Methods etc... 
    } 
} 
Verwandte Themen