Estoy un poco perdido no sé cómo mostrar una notificación después de la otra. Digamos, por ejemplo, mi tiempo actual es "23/11/2021 08:00" y quiero crear un recordatorio para "23/11/2021 09:30" la primera vez que la notificación emergente, pero si puedo crear otro recordatorio para "23/11/2021 09:35" la notificación no se mostrará a menos que se me cierra el programa después de la primera notificación de recordatorio ha sido exhibido y, por ejemplo, si el usuario establece más de 1 recordatorio de que tiene la misma fecha y hora, a continuación, sólo 1 notificación debe ser mostrado.
Gracias.
Esto es lo que mi forma parece
Imports System.Data.OleDb
Public Class frmReminder
Private CurrentReminderID As Integer = -1
Private Sub frmReminder_Load(sender As Object, e As EventArgs) Handles MyBase.Load
BtnClear.PerformClick()
Timer1.Enabled = True
Timer2.Enabled = True
End Sub
Dim CurrentDateTime As Date
Dim ReminderDateTime As Date
Public Sub ShowNotification()
Notification.ShowBalloonTip(1000, "Reminder", "Customer Order Due!", ToolTipIcon.None)
End Sub
Private Sub DateTimeVariable()
CurrentDateTime = Date.Now
CurrentDateTime = FormatDateTime(DateTime.Now, DateFormat.GeneralDate)
ReminderDateTime = FormatDateTime(ReminderDateTime, DateFormat.GeneralDate)
If CurrentDateTime = ReminderDateTime Then
ShowNotification()
Else
If DbConnect() Then
Dim SQLCmd As New OleDbCommand
With SQLCmd
.Connection = cn
.CommandText = "SELECT ReminderDate FROM TblReminder"
Dim rs As OleDbDataReader = .ExecuteReader()
ReminderDateTime = (rs(0))
End With
End If
cn.Close()
End If
End Sub
Private Sub BtnClear_Click(sender As Object, e As EventArgs) Handles BtnClear.Click
Label6.Text = ""
TxtCustName.Text = ""
TxtDeviceInfo.Text = ""
TxtPrice.Text = ""
TxtReminderDateTime.ResetText()
CurrentReminderID = -1
End Sub
Private Sub BtnSetReminder_Click(sender As Object, e As EventArgs) Handles BtnSetReminder.Click
If TxtCustName.Text.Length < 1 Then
MessageBox.Show("Customer name is empty!" & vbCrLf, "Reminder", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
TxtCustName.Focus()
ElseIf TxtDeviceInfo.Text.Length < 1 Then
MessageBox.Show("Device Information is empty!" & vbCrLf, "Reminder", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
TxtDeviceInfo.Focus()
ElseIf TxtPrice.Text.Length < 1 Then
MessageBox.Show("No price entered!" & vbCrLf, "Reminder", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
TxtPrice.Focus()
ElseIf DbConnect() Then
Dim SQLCmd As New OleDbCommand
If CurrentReminderID = -1 Then
With SQLCmd
.Connection = cn
.CommandText = "Insert into TblReminder (CustomerName, DeviceInfo, RepairPrice, ReminderDate)"
.CommandText &= "Values (@CustomerName, @DeviceInfo, @RepairPrice, @ReminderDate)"
.Parameters.AddWithValue("@CustomerName", TxtCustName.Text)
.Parameters.AddWithValue("@DeviceInfo", TxtDeviceInfo.Text)
.Parameters.AddWithValue("@RepairPrice", TxtPrice.Text)
.Parameters.AddWithValue(" @ReminderDate", TxtReminderDateTime.Text)
.ExecuteNonQuery()
.CommandText = "Select @@Identity"
CurrentReminderID = .ExecuteScalar
Label6.Text = CurrentReminderID
'ShowNotification()
End With
End If
End If
End Sub
Private Sub TxtCustName_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtCustName.KeyPress
If Not Char.IsLetter(e.KeyChar) Then 'Checks if key pressed isn't a digit
If Asc(e.KeyChar) <> Keys.Back Then 'Checks the key pressed wasn't Backspace
e.Handled = True 'It doesn't take any further action
End If
End If
End Sub
Private Sub TxtPrice_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtPrice.KeyPress
If Not Char.IsDigit(e.KeyChar) Then 'Checks if key pressed isn't a digit
If Asc(e.KeyChar) <> Keys.Back Then 'Checks the key pressed wasn't Backspace
e.Handled = True 'It doesn't take any further action
End If
End If
End Sub
Private Sub Notification_Click(sender As Object, e As EventArgs) Handles Notification.Click
frmReminderInfo.Show()
End Sub
Private Sub Notification_BalloonTipClicked(sender As Object, e As EventArgs) Handles Notification.BalloonTipClicked
frmReminderInfo.Show()
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
DateTimeVariable()
End Sub
Private Sub BtnOpenReminders_Click(sender As Object, e As EventArgs) Handles BtnOpenReminders.Click
frmReminderInfo.Show()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
TxtCurrentDateTime.Text = Date.Now.ToString("dd/MM/yyyy HH:mm")
End Sub
End Class