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.22

Private 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 Sub

42. Теперь проект можно снова запустить на выполнение. Результат работы при щелчке на компоненте DateTimePicker должен быть таким, как показано на рис. 6.16.

Рис. 6.16. Компонент DateTimePicker в работающем проекте.

43. Теперь можно поработать над удобством использования приложения. В область размещения невидимых компонентов нужно добавить компонент ContextMenu. Нужно щелкнуть на этом компоненте, а затем на форме добавить к его отображению пункты меню Добавить, Редактировать и Удалить, как это показано на рис. 6.17.

Рис. 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 Sub

Private Sub MenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MenuItem2.Click

PictureBox4_Click(sender, e)

End Sub

Private Sub MenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MenuItem3.Click

PictureBox5_Click(sender, e)

End Sub

45. Выделить компонент ListView1 и в окне Properties установить для него свойство ContextMenu равным ContextMenu1.

46. Теперь после запуска программы при нажатии стилусом на компоненте ListView в окне будет всплывать контекстное меню с заданными пунктами. Естественно, выбор любого из пунктов будет приводить к тому же результату, что и щелчок на соответствующих компонентах PictureBox (рис. 6.18).

Рис. 6.18. Контекстное меню компонента ListView.

Перейти на страницу:

Похожие книги