Member 13873419 Ответов: 1

Как создать всплывающее окно уведомления с помощью VB в определенное установленное время?


Я пишу календарь на visual basic для своего класса программного обеспечения. Я хотел бы реализовать способ, чтобы мой клиент конечного пользователя мог выбрать дату для получения уведомления. Так что, скажем, через несколько дней у них будет задание. Всплывающее окно появляется и просто уведомляет их о предстоящей задаче, которую они поставили в календаре, чтобы они знали о дате.

Мой вопрос заключается в следующем: как я могу сделать таймер для запуска уведомления в определенное время (например, за 48 часов до назначенного срока).

Ниже приведен код, который у меня есть для моей календарной системы. Я использую monthcalendar для выбора даты, а затем сохраняю любой текст, введенный в документ Блокнота.

Любые предложения по улучшению кода и созданию уведомления были бы полезны.

Что я уже пробовал:

Imports System.IO

Public Class Form1

    Dim t As String
    Dim m As MsgBoxResult


    Private Sub MonthCalendar1_DateSelected(sender As Object, e As DateRangeEventArgs)

        t = MonthCalendar1.SelectionRange.Start.Month.ToString & MonthCalendar1.SelectionRange.Start.Day.ToString

        Try
            If File.Exists(t & ".txt") = True Then
                MonthCalendar1.Enabled = False
                MonthCalendar1.Hide()
                TextBox1.Show()
                Button1.Enabled = True
                Button1.Show()
                Button2.Enabled = True
                Button2.Show()
                TextBox1.Text = File.ReadAllText(t & ".txt")
            Else
                m = MsgBox("Access this date?", MsgBoxStyle.YesNo)
                If m = MsgBoxResult.Yes Then
                    MonthCalendar1.Enabled = False
                    MonthCalendar1.Hide()
                    TextBox1.Enabled = True
                    TextBox1.Show()
                    TextBox1.Text = ""
                    Button1.Enabled = True
                    Button1.Show()
                    Button2.Enabled = True
                    Button2.Show()

                End If
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        TextBox1.Enabled = False
        TextBox1.Hide()
        Button1.Enabled = False
        Button1.Hide()
        Button2.Enabled = False
        Button2.Hide()
        MonthCalendar1.Enabled = True
        MonthCalendar1.Show()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            If TextBox1.Text = "" Then
                If File.Exists(t & ".txt") = True Then
                    File.Delete(t & ".txt")
                End If
            End If
            If TextBox1.Text.Length > 0 Then
                File.WriteAllText(t & ".txt", TextBox1.Text)
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim m1 As MsgBoxResult
        t = MonthCalendar1.SelectionRange.Start.Month.ToString & MonthCalendar1.SelectionRange.Start.Day.ToString

        If Date.Today = MonthCalendar1.TodayDate And File.Exists(t & ".txt") = True Then
            m1 = MsgBox("You have appointments set for today. Would you like to view them?", MsgBoxStyle.YesNo)
            If m1 = MsgBoxResult.Yes Then
                MonthCalendar1.Enabled = False
                MonthCalendar1.Hide()
                TextBox1.Enabled = True
                TextBox1.Show()
                Button1.Enabled = True
                Button1.Show()
                Button2.Enabled = True
                Button2.Show()
                TextBox1.Text = File.ReadAllText(t & ".txt")
            End If
        End If
    End Sub
End Class

1 Ответов

Рейтинг:
0

Richard MacCutchan

Добавьте таймер в приложение, чтобы оно могло регулярно проверять, пришло ли время уведомления. Таймер должен запускаться каждый раз при запуске приложения.