回答:
あなたが欲しいDateTime.DaysInMonth
:
int days = DateTime.DaysInMonth(year, month);
明らかに、年によって異なります。2月が28日になる場合もあれば、29日になる場合もあります。特定の年を1つの値または別の値に「修正」したい場合は、いつでも(うるうかどうかに関係なく)選択できます。
コードサンプルのSystem.DateTime.DaysInMonthを使用します。
const int July = 7;
const int Feb = 2;
// daysInJuly gets 31.
int daysInJuly = System.DateTime.DaysInMonth(2001, July);
// daysInFeb gets 28 because the year 1998 was not a leap year.
int daysInFeb = System.DateTime.DaysInMonth(1998, Feb);
// daysInFebLeap gets 29 because the year 1996 was a leap year.
int daysInFebLeap = System.DateTime.DaysInMonth(1996, Feb);
datetimepickerで選択した月と年から月の日数を計算させましたが、datetimepicker1のコードは、このコードを含むテキストボックスに結果を返すように変更されました
private void DateTimePicker1_ValueChanged(object sender, EventArgs e)
{
int s = System.DateTime.DaysInMonth(DateTimePicker1.Value.Date.Year, DateTimePicker1.Value.Date.Month);
TextBox1.Text = s.ToString();
}