VB.NET实现闹钟设计

Public Class FrmAlarmSetting
  Inherits .Windows.Forms.Form
  Dim calendarJust As Boolean
窗体设计
  Private Sub RbtDate_CheckedChanged(ByVal sender As Object, ByVal e As .EventArgs) Handles RbtDate.CheckedChanged
    DateTimePicker1.Enabled = True
    ComboWeek.Enabled = False
  End Sub
  Private Sub RbtNo_CheckedChanged(ByVal sender As Object, ByVal e As .EventArgs) Handles RbtNo.CheckedChanged
    DateTimePicker1.Enabled = False
    ComboWeek.Enabled = False
  End Sub
  Private Sub RbtWeek_CheckedChanged(ByVal sender As Object, ByVal e As .EventArgs) Handles RbtWeek.CheckedChanged
    DateTimePicker1.Enabled = False
    ComboWeek.Enabled = True
  End Sub
  Private Sub NUDHour_Click(ByVal sender As Object, ByVal e As .EventArgs) Handles NUDHour.Click
    If NUDHour.Text = "23" Then
      NUDHour.Text = "0"
    End If
    If NUDHour.Text = "0" Then
      NUDHour.Text = "23"
    End If
  End Sub
  Private Sub NUDMinute_Click(ByVal sender As Object, ByVal e As .EventArgs) Handles NUDMinute.Click
    If NUDMinute.Text = "59" Then
      NUDMinute.Text = "0"
    End If
    If NUDMinute.Text = "0" Then
      NUDMinute.Text = "59"
    End If
  End Sub
  Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As .EventArgs) Handles Timer1.Tick
    If RbtDate.Checked = True Then
      If Hour(Now). = NUDHour.Text And Minute(Now). = NUDMinute.Text And Now.Date.ToShortDateString = Trim(DateTimePicker1.Value) Then
        Alarm
        Timer1.Enabled = False
        Exit Sub
      End If
    End If
    If RbtWeek.Checked = True Then
      If Hour(Now). = NUDHour.Text And Minute(Now). = NUDMinute.Text And engweektochina(Now.Date.DayOfWeek.) = Trim(ComboWeek.Text) Then
        alarm
        Timer1.Enabled = False
        Exit Sub
      End If
    End If
    If RbtNo.Checked = True Then
      If Hour(Now). = NUDHour.Text And Minute(Now). = NUDMinute.Text Then
        alarm
        Timer1.Enabled = False
        Exit Sub
      End If
    End If
  End Sub
  Private Function EngWeektoChina(ByVal EngWeek As String) As String
    Select Case EngWeek
      Case "Monday"
        EngWeektoChina = "星期"
      Case "Tuesday"
        EngWeektoChina = "星期 2"
      Case "Wednesday"
        EngWeektoChina = "星期 3"
      Case "Thursday"
        EngWeektoChina = "星期 4"
      Case "Friday"
        EngWeektoChina = "星期 5"
      Case "Saturday"
        EngWeektoChina = "星期 6"
      Case "Sunday"
        EngWeektoChina = "星期日"
    End Select
  End Function
  Private Sub Alarm
    Dim Genie As AgentObjects.IAgentCtlCharacterEx
    AxAgent1.Characters.Load("MERLIN", "MERLIN.ACS")
    Genie = AxAgent1.Characters("MERLIN")
    Genie.LanguageID = &H409S
    Genie.Show
    Genie.Speak(ComboAlarmText.Text)
    Genie.Hide
  End Sub
  Private Sub FrmAlarmSetting_Load(ByVal sender As Object, ByVal e As .EventArgs) Handles MyBase.Load
    RbtNo.Checked = True
  End Sub
  Private Sub BtOk_Click(ByVal sender As Object, ByVal e As .EventArgs) Handles BtOk.Click
    Timer1.Enabled = True
    Me.Hide
  End Sub
  Private Sub BtCancel_Click(ByVal sender As Object, ByVal e As .EventArgs) Handles BtCancel.Click
    Me.Dispose
  End Sub
  Private Sub FrmAlarmSetting_Click(ByVal sender As Object, ByVal e As .EventArgs) Handles MyBase.Click
    alarm
  End Sub
End Class


Tags:  vb.net程序设计

延伸阅读

最新评论

发表评论