Ładowanie obrazów dynamicznie wewnątrz FlowLayoutPanel
. Potrzebuję tego panelu do automatycznego rozmiaru, ale tylko w pionie.FlowLayoutPanel AutoSize tylko w pionie?
Czy to możliwe, a jeśli tak, jak mam go osiągnąć?
Ładowanie obrazów dynamicznie wewnątrz FlowLayoutPanel
. Potrzebuję tego panelu do automatycznego rozmiaru, ale tylko w pionie.FlowLayoutPanel AutoSize tylko w pionie?
Czy to możliwe, a jeśli tak, jak mam go osiągnąć?
Prosty, dodać zdarzenie kontroli typu dodania:
private void flowLayoutPanel1_ControlAdded(object sender, ControlEventArgs e)
{
if (flowLayoutPanel1.Controls.Count % 10 == 0)
flowLayoutPanel1.SetFlowBreak(e.Control as Control, true);
}
ustawić AutoSize = true
ustawić flowdirection = LeftToRight
zrobiłem ustawić rozmiar od panelu dinamically. Przykład:
int newHeight= listImages.Count/10 * 100; flowLayoutPanel1.Size = new Size(1143, newHeight);
To działa na mnie. Thx all
'int newHeight = listImages.Count/10 * 100;' jest taki sam jak int 'newHeight = listImages.Count * 10;' –
Wiem, ale * int newHeight = listImages.Count/10 * 100 *; lepiej zrozumieć, że 10 to liczba obrazów na linię, a 100 to wysokość od każdej z nich. – Ladessa
Wskazówka: byłoby jeszcze bardziej czytelne i możliwe do utrzymania w następujący sposób: 'int newHeight = listImages.Count/numberOfPicturesPerLine * pictureHeight', z takimi definicjami jak 'const int numberOfPicturesPerLine = 10;' –
_Czy to możliwe? _ Czy próbowałeś? –
Ustawiam tylko właściwość AutoSize z flowLayoutPanel = true; ale panel rośnie poziomo – Ladessa
Ustaw właściwość FlowBreak na elementach sterujących dodawanych do wartości True. Jeśli dodasz je do kodu, użyj metody SetFlowBreak() panelu. –