Torna al Thread
[CODE]
//dentro qualche routine
TuoContenitore.Controls.AddRange(GetTimeButtonRange(new TimeSpan(0, 0, 0), new TimeSpan(8, 24, 0),15, 5, 150, 20));
//da qualche parte nella classe
//StartTime e StopTime indicano inizio e fine dell'intervallo di tempo interessato
//Interval indica la frequenza in minuti che divide l'intervallo di tempo interessato
//NColuns indica il numero di colonne che si vorrebbe ottenre
//ButtonW e ButtonH indicano la larghezza e l'altezza del bottone
static Button[] GetTimeButtonRange(TimeSpan StartTime, TimeSpan StopTime, int Interval, int NColumns, int ButtonW, int ButtonH)
{
return Enumerable.Range(0, Convert.ToInt32(Math.Truncate(StopTime.Subtract(StartTime).TotalMinutes / Interval)) + 1)
.Select(m => new Button()
{
Text = StartTime.Add(new TimeSpan(0, (Interval * m), 0)).ToString(),
Height = ButtonH,
Width = ButtonW,
Top = ButtonH * (m / NColumns),
Left = ButtonW * (m % NColumns)
}).ToArray();
}
[/CODE]