2014-01-24 4 views
0

Я развиваю систему управления школами в C#. сеть. И мне нужно было дать пользователю возможность добавлять события, щелкнув дату в календаре, и эта дата должна быть полужирной после добавления. Я пробовал код ниже, но только добавленная дата была выделена жирным шрифтом. Но мне нужно смело выбирать каждый выбранный день. Может ли кто-нибудь помочь мне добавить все выбранные дни в массив Bolded Days? Буду признателен за любую помощь. Это мой код.Добавить смелые дни до месяца Calender

//Create method for add bold days 
public void boldDays() 
     { 
      List<DateTime> l = new List<DateTime>(); 


      l.Add(DateTime.Parse(monthCalendar1.SelectionStart.ToLongDateString())); 


      DateTime[] s = l.ToArray(); 
      monthCalendar1.BoldedDates = new DateTime[] { }; 
      monthCalendar1.BoldedDates = l.ToArray(); 
     } 






//Executing method when a button click 
private void btnRefresh_Click(object sender, EventArgs e) 
     { 
      boldDays(); 
     } 

ответ

0

С вашего кода вы добавляете только одну дату. Вам нужно пройти через список событий. Этот код может помочь:

public void boldDays() 
{ 
    List<DateTime> l = new List<DateTime>(); 
    foreach (var event in savedEvents) 
    { 
     l.Add(event.Date); 
    } 
    monthCalendar1.BoldedDates = l.ToArray(); 
} 
+0

Не могли бы вы объяснить, что вы назвали «сохраненными экспонентами». Пожалуйста, я не получил эту часть. – Chathu

+0

Вы должны создать список сохраненных событий: 'IList savedEvents = новый Список ()' например. Затем каждый раз, когда ваш пользователь нажимает на дату для добавления события, вы добавляете его в список: 'savedEvents.Add (selectedDate)'. Таким образом, вы можете выполнять итерацию в методе 'boldDays'. – vincenty

0

Вы добавляете только начальную дату в массиве. Попробуйте это

public void boldDays() 
{ 
    List<DateTime> l = new List<DateTime>(); 
    for(DateTime m = monthCalendar1.SelectionRange.Start;m <= monthCalendar1.SelectionRange.End; m = m.AddDays(1)) 
    { 
     l.Add(DateTime.Parse(m.ToLongDateString())); 
    } 


    //monthCalendar1.BoldedDates = new DateTime[] { }; 
    l.AddRange(monthCalendar1.BoldedDates); //If you want to preserve previously added dates then add previously added dates to list as 
    monthCalendar1.BoldedDates = l.ToArray(); 
} 
+0

Я ценю вашу помощь. Спасибо. – Chathu

+0

Я пробовал этот код, но он все же дерзкий добавленной датой! – Chathu

+0

Ответ отредактированный вопрос сейчас это решить вашу проблему? – Sameer

Смежные вопросы