// таймер private void MainTimer_Tick(object sender, EventArgs e) { // если текущее время >= времени события DateTime DT_Now = DateTime.Now; if (DT_Now >= NextSignaltime) { // остановить таймер MainTimer.Stop(); // получить структуру события ReadWriteFile RWF = new ReadWriteFile(WorkDir + "\\" + EventListFile, vers); EventStruct ES = RWF.GetEvent(NextEventIndex); SignalText = ES.Caption; SignalType = ES.IsEarly; EventDay = ES.Date; NeedSignalize = true; // сигализировать //Signalize(ES.Caption, ES.IsEarly, ES.Date); needBell = true; Signalize(); // изменить статус события ES.Informed = true; RWF.EditEvent(NextEventIndex, ES); // перезапустить таймер ReloadTimer(); } }
private void btnOK_Click(object sender, EventArgs e) { DT = dateTimePicker1.Value; if (comboBox1.SelectedIndex == 0) { Event = true; } else { Event = false; } Caption = textBox1.Text; if (checkBox1.Checked) { signal = true; BeforeDay = Convert.ToInt32(numericUpDown1.Value); /* * if (ChekTime() == false) * { * MessageBox.Show("Время задано не верно!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); * maskedTextBox1.Focus(); * return; * } */ } else { signal = false; } // проверить уникальность события // -- нахэр, добавляйте скока влезет // сформировать структуру ES.Date = DT; ES.CapLength = (byte)Caption.Length; ES.Caption = Caption; ES.NeedInform = signal; if (signal == true) { /* * DateTime d1 = DT.Date; * * // минус дней * DateTime d2 = d1.AddDays(-Convert.ToDouble(BeforeDay)); * // плюс часы * double hour = Convert.ToDouble(maskedTextBox1.Text.Substring(0,2)); * d1 = d2.AddHours(hour); * // минуты * double minute = Convert.ToDouble(maskedTextBox1.Text.Substring(3, 2)); * d2 = d1.AddMinutes(minute); * * ES.BeforeInform = d2; */ DateTime d1 = DT.Date.AddDays(-Convert.ToDouble(BeforeDay)); ES.BeforeInform = new DateTime(d1.Year, d1.Month, d1.Day, dateTimePicker2.Value.Hour, dateTimePicker2.Value.Minute, 0); ES.Informed = false; } else { ES.BeforeInform = DT; ES.Informed = true; } ES.IsEarly = !Event; // произвести изменения ReadWriteFile RWF = new ReadWriteFile(FileName, vers); if (IndexOfEvent >= 0) // изменить { RWF.EditEvent(IndexOfEvent, ES); } else // добавить { RWF.AddEvent(ES); } // переопределить таймер RestartTimer(); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); }