04/01/15 9:22
ademontis
Ciao non so se ti serve ancora aiuto, comunqqe il FlowLayoutPanel serve generalmente per incorporare elementi che debbano essere disposti uno affiancato all' altro da runtime senza fornire le coordinate specifiche.
Il tipico esempio é un image browser... un utente seleziona da un FileDialog 5,6, 30 immagini, e le loro anteprima vengono aggiunte ad un flowlayoutpanel già affiancate una all' altra. Ovviamente tu dovrai programmaticamente definire l' oggetto picturebox che incorpora ogni singolo file con un ciclo for each.
Puoi configurare 3 parametri importanti del FLP:
- direction: letf to tigh oppure right to left
- wrapcontent: true or false
- autoscroll: true or false
se vuoi creare un image browser per esempio aggiungi un FLP al form, e un pulsante, al cui evento click aggiungi:
ovviamente poi ti dovrai occupare di creare l' evento click programmaticamente:
questo sopra per esempio manda il contenuto del' anteprima selezionata ad una picturebox che la visualizza 'in grande'.
Il tipico esempio é un image browser... un utente seleziona da un FileDialog 5,6, 30 immagini, e le loro anteprima vengono aggiunte ad un flowlayoutpanel già affiancate una all' altra. Ovviamente tu dovrai programmaticamente definire l' oggetto picturebox che incorpora ogni singolo file con un ciclo for each.
Puoi configurare 3 parametri importanti del FLP:
- direction: letf to tigh oppure right to left
- wrapcontent: true or false
- autoscroll: true or false
se vuoi creare un image browser per esempio aggiungi un FLP al form, e un pulsante, al cui evento click aggiungi:
Dim ofd As New OpenFileDialog With {.Filter = "Supported Files|*.jpg;*.bmp;*.tiff;*.gif"} ofd.Multiselect = True If ofd.ShowDialog() = Windows.Forms.DialogResult.OK Then FlowLayoutPanel1.Controls.Clear() For Each Files As String In ofd.FileNames Dim im As New PictureBox im.Height = ' assegnagli il valore che vuoi im.Width = ' idem im.SizeMode = PictureBoxSizeMode.Zoom im.Image = Image.FromFile(Files) Application.DoEvents() FlowLayoutPanel1.Controls.Add(im) AddHandler im.Click, AddressOf PictureBox_Click Next End If
ovviamente poi ti dovrai occupare di creare l' evento click programmaticamente:
Private Sub PictureBox_Click(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) PictureBox1.Image = sender.image sender.borderstyle = BorderStyle.FixedSingle Thread.Sleep(500) sender.borderstyle = BorderStyle.None End Sub
questo sopra per esempio manda il contenuto del' anteprima selezionata ad una picturebox che la visualizza 'in grande'.
aaa