Hola Markdirtyboy,
Para obtener las fechas seleccionadas del 'Calendar' solo debes utilizar la propiedad SelectedDates, el cual retornará una colección de ellas.
Puedes utilizar Linq para poder agrupar la colección por mes, luego obtendrías una colección de días y una
Key que sería el Mes.
var selectedDates = Calendar1.SelectedDates.OfType<DateTime>()
.GroupBy(x => x.Month)
.Select(x => new {
Mes = x.Key,
Dias = x.ToList()
});
Dónde la propiedad Mes (es un valor de tipo int que retornará el mes) y la propiedad
Dias (retornará una lista de los días). Un ejemplo sencillo de como visualizarlo sería:
//Recorremos la variable
foreach (var dates in selectedDates)
{
//Mostramos el Mes
TextBox1.Text += $"{CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(dates.Mes)}\n";
//Mostramos los días del Mes
foreach (var d in dates.Dias)
{
TextBox1.Text += $"{d.ToShortDateString()}\n";
}
}
Resultado:

Saludos.
JC NaupaCrispín
Lima - Perú
La magia no existe, la programación SI