Je suis un peu perdu je ne sais pas comment afficher une notification après l'autre. Par exemple, disons que mon heure actuelle est "23/11/2021 08:00" et je veux créer un rappel pour "23/11/2021 09:30" la première fois que la notification s'affiche mais si je crée un autre rappel pour "23/11/2021 09:35" la notification n'apparaîtra pas à moins que j'ai fermer le programme après la première notification de rappel a été affiché, et par exemple si l'utilisateur définit plus de 1 rappel qui a la même date et heure, puis seulement 1 avis doit être affiché.
Merci.
C'est ce que mon formulaire ressemble à
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