/// <summary> /// Event handler for indication that the user changed selection within the ComboBox's DropDownList. /// </summary> /// <param name="sender">Instance of object raising event.</param> /// <param name="e">Generic event args.</param> private void comboBoxTemperatureSensors_SelectedIndexChanged(object sender, EventArgs e) { TemperatureSensor temperatureSensor = GetSelectedTemperatureSensor(); //If an item was selected, query it's min/max range of timestamps. if (temperatureSensor != null) { //Query the Min/Max timestamps we can allow the DateTimePickers to be at; convert timestamps to Local for humans. Tuple <DateTime, DateTime> utcTimestamps = AsyncHelper.RunSync(() => { return(temperatureSensor.QueryTimestmapRange()); }); Tuple <DateTime, DateTime> localTimestamps = Tuple.Create(utcTimestamps.Item1.ToLocalTime(), utcTimestamps.Item2.ToLocalTime()); dateTimePickerStart.MinDate = localTimestamps.Item1; dateTimePickerStart.MaxDate = localTimestamps.Item2; dateTimePickerStart.Value = localTimestamps.Item1; dateTimePickerStop.MinDate = localTimestamps.Item1; dateTimePickerStop.MaxDate = localTimestamps.Item2; dateTimePickerStop.Value = localTimestamps.Item2; //Potentially unlock UI components. Update(); } }