Как получить выбранную дату элемента управления MonthCalendar в C # - PullRequest
30 голосов
/ 07 августа 2010

Как получить выбранную дату элемента управления MonthCalendar в C # (Окно форм)

Ответы [ 5 ]

51 голосов
/ 07 августа 2010

"Просто установите MaxSelectionCount на 1, чтобы пользователи не могли выбрать более одного дня. Затем в SelectionRange.Start.ToString(). Нет ничего доступного, чтобы показать выбор только одного дня."- Джастин Этередж

С здесь .

9 голосов
/ 26 января 2014

Я только что заметил, что если вы сделаете:

monthCalendar1.SelectionRange.Start.ToShortDateString() 

, вы получите только дату (например, 1/25/2014) из MonthCalendar элемента управления.

Это противоположно:

monthCalendar1.SelectionRange.Start.ToString()

//The OUTPUT will be (e.g. 1/25/2014 12:00:00 AM)

Поскольку эти MonthCalendar свойства имеют тип DateTime .См. msdn и методы, доступные для преобразования в строковое представление.Также это может помочь преобразовать строку в объект DateTime, где это применимо.

1 голос
/ 27 июня 2018

Используя SelectionRange, вы получите Start и End дату.

private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
    var startDate = monthCalendar1.SelectionRange.Start.ToString("dd MMM yyyy");
    var endDate = monthCalendar1.SelectionRange.End.ToString("dd MMM yyyy");
}

Если вы хотите обновить максимальное количество дней, которое можно выбрать, тогда установите свойство MaxSelectionCount,По умолчанию установлено значение 7.

// Only allow 21 days to be selected at the same time.
monthCalendar1.MaxSelectionCount = 21;
1 голос
/ 14 февраля 2013

Для тех, кто все еще пытается, эта ссылка мне тоже помогла;это просто складывает все вместе:

http://dotnetslackers.com/VB_NET/re-36138_How_To_Get_Selected_Date_from_MonthCalendar_control.aspx

private void MonthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
//Display the dates for selected range
Label1.Text = "Dates Selected from :" + (MonthCalendar1.SelectionRange.Start() + " to " + MonthCalendar1.SelectionRange.End);

//To display single selected of date
//MonthCalendar1.MaxSelectionCount = 1;

//To display single selected of date use MonthCalendar1.SelectionRange.Start/ MonthCalendarSelectionRange.End
Label2.Text = "Date Selected :" + MonthCalendar1.SelectionRange.Start;
}
0 голосов
/ 07 августа 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...