2013-05-07 81 views
0

如果有人能幫我一個這個程序,我將不勝感激。用VB 2010創建電視提醒

基本上,節目在電視節目開始前5分鐘和30分鐘提醒用戶,它具有用於節目名稱,頻道和播出時間的Tex-box輸入。輸入應該到列表框,然後當時間到達它顯示一個消息框,說程序在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 
+0

爲什麼vb6標籤? VB.NET和VB6是**不是一回事。 – Tim 2013-05-07 18:40:36

+0

我不認爲你明白TabIndex屬性是什麼。 – jac 2013-05-07 19:36:49

回答

0

只需在您的計時器事件中執行此操作。爲30分鐘的版本添加另一個(或者創建一個可重用的子版本,因爲唯一改變的是您正在查找的內容和顯示內容)。我可能會使用一個dataGridView,所以你沒有多個列表框

For Each i As String In list_box_program_time_hide.Items 
     If i.Contains(lbl_5min_time.Text) Then 
      tmr_current_time_label.Stop() 
      MsgBox(list_box_program_name.Items(i.indexof) & " " & "is starting in 5 minutes") 
      If MsgBoxResult.Ok Then 
       tmr_current_time_label.Start() 
      End If 
      tmr_current_time_label.Start() 
     End If 
    Next