DateTime dt = new DateTime();
dt = DateTime.Now.AddMonths(1);
int x = DateTime.DaysInMonth(dt.Year, dt.Month);
MessageBox.Show(x.ToString()); // works ok - 31
>
DateTime Base = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(1).Month, 1);
int x = DateTime.DaysInMonth(Base.Year, Base.Month);
while (Base.Day != x)
{
Console.WriteLine(Base.DayOfWeek.ToString());
Base = Base.AddDays(1);
}