Anzeige von Schaltflächen entsprechend der Anzahl der ObjekteC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Anzeige von Schaltflächen entsprechend der Anzahl der Objekte

Post by Anonymous »

Ich arbeite an einer Schweinemanagementanwendung in C# WinForms mit .NET 9. Mein Ansatz ist grundlegend und nicht professionell. Ich habe ihren jeweiligen Stiften erfolgreich Schweine zugewiesen, aber ich habe ein Problem, das sie auf dem Bildschirm anzeigt: Die Tasten, die die Schweine darstellen, erscheinen in einem Listenformat, einem untereinander und überlappen sich aufgrund ihrer Größe. Ich möchte, dass sie in einem Raster in jedem Feld angeordnet werden.private void DisplayPigsInPanels()
{
// Clear the panels before adding new buttons
panel1.Controls.Clear();
panel2.Controls.Clear();
panel3.Controls.Clear();
panel4.Controls.Clear();

// List of panels, each representing a pen
List
panels = new List { panel1, panel2, panel3, panel4 };

for (int i = 0; i < cages.Count; i++)
{
Panel currentPanel = panels;
int posY = 10;

foreach (Pig p in cages.Pigs)
{
Button btnPig = new Button();
btnPig.Image = p.image;
btnPig.Size = new Size(150, 150);
btnPig.Location = new Point(10, posY);
btnPig.Tag = p;

// Assign click event
btnPig.Click += Pig_Click;

currentPanel.Controls.Add(btnPig);
posY += 40; // This makes the buttons stack in a column
}
}
}
< /code>
Problem
Die Schaltflächen werden in einem Listenformat angezeigt, einer untereinander. Da jeder Stift bis zu 4 Schweine haben kann, möchte ich, dass sie in einem 2x2 -Gitter in jedem Feld angeordnet werden, anstatt in einer einzigen Spalte zu stapeln. Gibt es eine bessere Kontrolle als das Panel, um dies leichter zu erreichen? < /P>
Vorschläge wären hilfreich. Vielen Dank! Es gibt nicht immer die gleiche Anzahl von Ferkel und Käfigen jedes Geschlechts.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post