Совсем недавно начал программировать, столкнулся с трудностью. У меня есть заполненный данными словарь, внутри которого ключи - названия нужных сигналов, внутри каждого ключа с сигналом лежат еще ключи типа DateTime, внутри этих ключей лежит значение (значение сигнала в нужный момент времени):
public static Dictionary<string, SortedDictionary<DateTime, double>> dic = new Dictionary<string, SortedDictionary<DateTime, double>>();
Тестовый пример вывода, чтобы понять что лежит в словаре:
public static void readDic()
{
foreach (var varName in dic)
{
foreach (var data in varName.Value)
{
Console.WriteLine("{0}: Key: {1}, Value {2}", varName.Key, data.Key, data.Value);
}
}
}
Данные нужны для вывода на график, x - время, y - значение в это время. Нужно сделать выбор интервала, примерно таким образом:
Нужно сделать, чтобы даты всех дней, в которые записаны данные в словаре выделялись в календаре, чтобы понять, за какие дни можно получить данные.
При нажатии на выделенную дату в календаре, в первом окне с временем после нажатия должно появляться начальное время данных, которые записано в выделенный день, также нужно сделать возможность регулировать время вверх в этом окне.
Во втором окне нужно сделать возможность задавать интервал в часах, минутах, секундах от начальной точки в интервале, которое в первом окне, как на картинке.
В итоге после всего этого нужно получить начальную дату типа DateTime в формате yyyy'-'MM'-'dd HH':'mm':'ss', которое будет в первом окне - начало интервала И конец интервала, то есть как-то добавить к начальному значению времени, значение которое ввели во втором окне. Как это можно реализовать, может есть какой-то готовый пример реализации подобного?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
dateTimePicker1.CustomFormat = "HH:mm:ss";
dateTimePicker2.CustomFormat = "HH:mm:ss";
}
private void dateTimePicker2_ValueChanged_1(object sender, EventArgs e)
{
}
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
//Чтобы выделить даты, в которых записаны данные в словаре
List<DateTime> dateTimes = new List<DateTime>();
monthCalendar1.BoldedDates = dateTimes.ToArray();
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как получить значение по ID, использую C#? может что-то в конце кода нужно добавить? по факту нужно чтобы в переменной result оказалось значение...
В конфигурационном JSON файле используются строки следующего вида:
Нужно вывести окно поверх всех окон, для эффекта водяного знакаВозможно ли это сделать с помощью WPF без использования WinApi?