37. В процедурах PictureBox1_Click и PictureBox2_Click строку Data_Save(Label1.Text) нужно заменить строкой Data_Save(DateTimePicker1.Value.ToShortDateString).
38. В процедуре Form1_Closing нужно удалить строку Data_Save(Label1.Text) и вместо нее ввести строку Data_Save(DateTimePicker1.Value.ToShortDateString).
39. В процедуре Form1_Closing строку Data_Save(Label1.Text) нужно заменить вызовом обновленного варианта функции сохранения данных Data_Save(DateTimePicker1. Value.ToShortDateString).
40. Также нужно объявить в начале формы еще одну переменную при помощи конструкции Dim dtpClick As Boolean.
41. В код формы нужно добавить еще две процедуры, показанные в листинге 6.22.
Листинг 6.22Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.ValueChanged
If dtpClick = True Then
Data_Save(D.ToShortDateString)
D = DateTimePicker1.Value
Data_Load(D.ToShortDateString)
dtpClick = False
End If
End Sub
Private Sub DateTimePicker1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.Click
dtpClick = True
End Sub42. Теперь проект можно снова запустить на выполнение. Результат работы при щелчке на компоненте DateTimePicker должен быть таким, как показано на рис. 6.16.
43. Теперь можно поработать над удобством использования приложения. В область размещения невидимых компонентов нужно добавить компонент ContextMenu. Нужно щелкнуть на этом компоненте, а затем на форме добавить к его отображению пункты меню Добавить, Редактировать и Удалить, как это показано на рис. 6.17.
44. Двойной щелчок на любом из этих пунктов в дизайнере форм создаст обработчик события щелчка на пункте контекстного меню в редакторе кода. Для трех этих обработчиков надо использовать код, приведенный в листинге 6.23. Листинг 6.23
Private Sub MenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MenuItem1.Click
PictureBox3_Click(sender, e)
End SubPrivate Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MenuItem2.Click
PictureBox4_Click(sender, e)
End SubPrivate Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MenuItem3.Click
PictureBox5_Click(sender, e)
End Sub45. Выделить компонент ListView1 и в окне Properties установить для него свойство ContextMenu равным ContextMenu1.
46. Теперь после запуска программы при нажатии стилусом на компоненте ListView в окне будет всплывать контекстное меню с заданными пунктами. Естественно, выбор любого из пунктов будет приводить к тому же результату, что и щелчок на соответствующих компонентах PictureBox (рис. 6.18).