2014-07-12 5 views
0

Je souhaite ajouter un contrôle à mon panneau dans WinForms.comment rendre un contrôle visible dans un panneau?

public Form1() 
{ 
     InitializeComponent(); 
     PictureBox a = new PictureBox(); 
     a.Left = 100; 
     a.Top = 150; 
     a.Width = 50; 
     a.Height = 50; 
     a.BackColor = Color.Red; 
     Controls.Add(a);  
} 

Sans le Panel, ce code fonctionne parfaitement. Mais le Panel bloque le PictureBox, quelles propriétés dois-je changer?

+2

Utilisez BringToFront(). Ou ajoutez la boîte d'image au panneau. –

+1

montre le code avec 'Panel' –

+0

@HansPassant Merci je cherchais quelque chose comme ça. – adsfsd

Répondre

1

Fondamentalement, il y a peu d'options pour y parvenir:

1. Lorsque vous ajoutez les contrôles à votre Form comme ceci:

Controls.Add(panel); 
Controls.Add(button1); 
Controls.Add(button2); 
Controls.Add(pictureBox); 

Ils seront présentés dans ce très ordre: panel sur le fond, buttons entre et pictureBox sur le dessus.

2. Comme il était indiqué dans les commentaires, vous pouvez utiliser BringToFront() après avoir ajouté le contrôle.

pictureBox.BringToFront(); 

Cela fera l'pictureBox d'être au-dessus des autres.

3. Vous pouvez modifier l'ordre des contrôles en modifiant leur index Z, appelé ChildIndex dans WinForms. Vous pouvez définir avec:

Controls.SetChildIndex(pictureBox, __yourIndex__); 

4. Vous pouvez ajouter le pictureBox à votre panel avec:

panel.Controls.Add(pictureBox); 
+0

Parfait! Merci Monsieur. – adsfsd

Questions connexes