public static Control[] showTimetable() { List <SomerenModel.TimetableActivity> timetable = SomerenDB.DB_getTimetable(); ListView activitiesListView = (ListView)showActivity(); // we must split the activities by the day of the week on which they occur // we will have one list view per day List <SomerenModel.TimetableActivity> mondayActivities = new List <SomerenModel.TimetableActivity>(); List <SomerenModel.TimetableActivity> tuesdayActivities = new List <SomerenModel.TimetableActivity>(); List <SomerenModel.TimetableActivity> wednesdayActivities = new List <SomerenModel.TimetableActivity>(); List <SomerenModel.TimetableActivity> thursdayActivities = new List <SomerenModel.TimetableActivity>(); List <SomerenModel.TimetableActivity> fridayActivities = new List <SomerenModel.TimetableActivity>(); foreach (SomerenModel.TimetableActivity activity in timetable) { // use day of week because it's the simplest switch (activity.getDate().DayOfWeek) { case DayOfWeek.Monday: mondayActivities.Add(activity); break; case DayOfWeek.Tuesday: tuesdayActivities.Add(activity); break; case DayOfWeek.Wednesday: wednesdayActivities.Add(activity); break; case DayOfWeek.Thursday: thursdayActivities.Add(activity); break; case DayOfWeek.Friday: fridayActivities.Add(activity); break; } } activitiesListView.Height = 85; activitiesListView.Width = 370; activitiesListView.FullRowSelect = true; DateTimePicker datePicker = new DateTimePicker(); datePicker.Left = 375; datePicker.Width = 150; // restrict dates to the one week we care about datePicker.Value = new DateTime(2017, 4, 11); datePicker.MinDate = new DateTime(2017, 4, 10); datePicker.MaxDate = new DateTime(2017, 4, 14); ComboBox timePicker = new ComboBox(); timePicker.Left = 375; timePicker.Width = 150; timePicker.Top = 30; timePicker.DropDownStyle = ComboBoxStyle.DropDownList; // add the time slots we support timePicker.Items.Add("09:00-11:00"); timePicker.Items.Add("11:00-13:00"); timePicker.Items.Add("13:00-15:00"); timePicker.Items.Add("15:00-17:00"); timePicker.SelectedIndex = 0; Button saveButton = new Button(); saveButton.Text = "Save"; saveButton.Left = 375; saveButton.Width = 150; saveButton.Top = 60; Control[] allControls = new Control[] { activitiesListView, datePicker, timePicker, saveButton, createWeekDayListview(0, mondayActivities), createWeekDayListview(1, tuesdayActivities), createWeekDayListview(2, wednesdayActivities), createWeekDayListview(3, thursdayActivities), createWeekDayListview(4, fridayActivities), }; // the button must read values from the controls so we just // store them in the tag saveButton.Tag = allControls; // set event handler on save button saveButton.Click += Click_TimetableSaveButton; return(allControls); }