誰かがこのプログラムで私に手を差し伸べることができれば幸いです。
基本的に、番組はテレビ番組が始まる 5 分前と 30 分前にユーザーに通知します。番組名、チャンネル、放送時間の Tex ボックス入力があります。入力はリスト ボックスに送られ、時間に達すると、プログラムが 5/30 分後に開始されることを示すメッセージ ボックスが表示されます。
リストからインデックスを取得するのに問題があります (list_box_tv_shows.TabIndex = 0)。プログラムを実行すると、(list_box_tv_shows.TabIndex = 0) から最初の項目が繰り返されます。
Public Class frm_main_window
Dim time_format As New DateTime
Private Sub tmr_current_time_label_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmr_current_time_label.Tick
lbl_current_time.Text = Format(Now, "hh:mm:ss tt")
lbl_5min_time.Text = Format(Now.AddMinutes(5), "hh:mm:ss tt")
lbl_30min_time.Text = Format(Now.AddMinutes(30), "hh:mm:ss tt")
'----------------------------------------------------------------------------------------------------------------------------------
If list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 0 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(0) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 1 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(1) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 2 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(2) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 3 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(4) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 4 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(4) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 5 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(5) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 6 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(6) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 7 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(7) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 8 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(8) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_5min_time.Text) And list_box_tv_shows.TabIndex = 9 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(9) & " " & "is starting in 5 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
End If
'------------------------------------------------------------------------------------------------------------------------
If list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.SelectedIndex = 0 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(0) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.SelectedIndex = 1 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(1) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 2 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(2) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 3 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(3) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 4 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(4) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 5 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(5) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 6 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(6) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 7 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(7) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 8 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(8) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
ElseIf list_box_program_time_hide.Items.Contains(lbl_30min_time.Text) And list_box_tv_shows.TabIndex = 9 Then
tmr_current_time_label.Stop()
MsgBox(list_box_program_name.Items(9) & " " & "is starting in 30 minutes")
If MsgBoxResult.Ok Then
tmr_current_time_label.Start()
End If
End If
End Sub
Private Sub frm_main_window_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lbl_current_time.Text = Format(Now, "hh:mm:ss tt")
lbl_program_time_goes_into_list.Hide()
list_box_program_time_hide.Hide()
list_box_program_name.Hide()
lbl_30min_time.Show()
lbl_5min_time.show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_click_save.Click
list_box_tv_shows.Items.Clear()
lbl_program_time_goes_into_list.Text = cbo_hours.Text & ":" & cbo_min.Text & ":" & cbo_sec.Text & " " & cbo_am_or_pm.Text
list_box_program_time_hide.Items.Add(lbl_program_time_goes_into_list.Text)
list_box_program_name.Items.Add(txt_box_program_name.Text)
list_box_tv_shows.Items.Add(txt_box_program_name.Text & " | " & txt_box_tv_channel.Text & " | " & lbl_program_time_goes_into_list.Text)
End Sub
End Class