2016-12-23 1 views
0

Ich benutze flowLayoutPanel als eine Sammlung von Bildern, die aus einer Liste von Bildern kommen, die angeklickt werden können und danach in größeren pictureBoxes angezeigt werden. Ich frage mich, ob es eine Möglichkeit gibt, einen Rand in diesem Panel zu machen, also zum Beispiel, wenn ich diese Bilder in einer PDF-Datei speichern möchte, kann ich eine Liste von Bildern in zwei Listen aufteilen. Ich dachte über Drag and Drop oder wählen Sie Methode, aber diese ist viel einfacher zu bedienen. Hier ist der Code der Anzeige von Bildern aus einer Liste in kleinere PictureBox in Flowlayoutpanel:Rand zum Aufteilen einer Liste von Bildern in flowLayoutPanel

foreach (Image image in images) 
{ 
    PictureBox pf = new PictureBox(); 
    pf.SizeMode = PictureBoxSizeMode.StretchImage; 
    pf.Height = 150; 
    pf.Width = 170; 
    pf.Image = image; 
    pf.Click += new EventHandler(pictureClicked); 
    flowLayoutPanel2.Controls.Add(pf); 
} 

Und ein Klick-Methode:

public PictureBox clickedPicture; 

void pictureClicked(object sender, EventArgs e) 
{ 
    if (clickedPicture != null) 
     clickedPicture.BorderStyle = BorderStyle.None; 
    clickedPicture = (PictureBox)sender; 
    clickedPicture.BorderStyle = BorderStyle.FixedSingle; 
    pictureBoxFront.Image = clickedPicture.Image; 
} 

Antwort

1

Versuchen Sie diesen Code

flowLayoutPanel2.margin = new Padding(5); 

Quelle: http://msdn.microsoft.com/en-us/library/ms159414.aspx

Öffentliche Struktur Polsterung Polsterung: http://msdn.microsoft.com/en-us/library/system.windows.forms.padding.aspx

+0

Ich erhalte eine Fehlermeldung, dass mir eine Referenz für die Marge fehlt. –

+0

Ich verstehe wirklich nicht, dass es so etwas wie einen einfachen Rand nicht gibt, der jedes Sammlertool wie listBox, Panel aufteilt. –

+0

check this link https://msdn.microsoft.com/library/3z3f9e8b(v=vs .110) Wenn Sie eine Lösung für die Marge erhalten –

Verwandte Themen