[VB.net]Timer核心源代码(时间使者)

前端之家收集整理的这篇文章主要介绍了[VB.net]Timer核心源代码(时间使者)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

这个程序用于定时操作。

其实这份代码个人觉得效率不够高,本人暂时没空优化,不好意思,那位朋友看后有建议的可以联系我。

mailto:wangjingkaibear@live.cn


以下是代码

原本是在Visual Basic 2008 环境下编写的,但回去时装了Visual Basic 2010,它把代码升级了,我看起来好像没变化,不知道怎样。代码有很多用了.net Framework 3.5的标准,所以需要.net Framework3.5支持,请注意。

  1. Public Class Main
  2.  
  3. '添加工具提示
  4. Private Sub Me_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
  5. Me.Hide()
  6. If My.Computer.FileSystem.FileExists(Application.StartupPath & "/zh-CN/时间使者 Free Edition.resources.dll") = True Then
  7. Me.Show()
  8. Else
  9. MsgBox("程序检测到程序文件夹‘zh-CN’中的‘时间使者 Free Edition.resources.dll’文件不存在或名称改变,请将文件名改回‘时间使者 Free Edition.resources.dll’或重新安装软件",MsgBoxStyle.OkOnly,"启动错误")
  10. Me.Close()
  11. End If
  12. Dim tooltip1 As New ToolTip
  13. tooltip1.SetToolTip(TX_T_SJ1,"这里应该输入完整的时间,即闹钟响起的时间。(输入格式:HH:mm:ss,24小时制)")
  14. tooltip1.SetToolTip(TX_T_JG1,"输入一个时间间隔,即在从现在起再过这个时间后,闹钟响起。(单位:秒)")
  15. tooltip1.SetToolTip(DSGJ_T_SJ1,"这里应该输入完整的时间,即关机的时间。(输入格式:HH:mm:ss,24小时制)")
  16. tooltip1.SetToolTip(DSGJ_T_YC1,"非必要")
  17. End Sub
  18.  
  19. '获取系统时间并显示
  20. Private Sub HQSJ11_Tick(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles HQSJ1.Tick
  21. Dim time1 As DateTime
  22. time1 = My.Computer.Clock.LocalTime.ToLongTimeString
  23. DQSJ1.Text = time1
  24. End Sub
  25.  
  26. '闹钟提醒键变化
  27. Private Sub Tixing1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Tixing1.Click
  28. If Me.Height = 178 Then
  29. Me.Height = 420
  30. Tixing1.Text = "闹钟提醒 ∧"
  31. DSGJ1.Enabled = False
  32. Else
  33. Me.Height = 178
  34. If DSGJ_B_QX1.Enabled = False Then '判断定时关机是否未开启
  35. DSGJ1.Enabled = True
  36. End If
  37. TX_C_FS1.Checked = False
  38. TX_C_FS2.Checked = False
  39. TX_T_SJ1.Text = "请填入完整时间"
  40. TX_T_JG1.Text = "请填入时间间隔"
  41. TX_T_XX1.Text = ""
  42. Tixing1.Text = "闹钟提醒 ∨"
  43. End If
  44. End Sub
  45. '定时关机键变化
  46. Private Sub DSGJ1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ1.Click
  47. Dim XT2 As String
  48. If Me.Width = 317 Then
  49. Me.Width = 553
  50. XT2 = My.Settings.GJ_XT1
  51. If XT2 <> "" Then
  52. If XT2 = "1" Then
  53. DSGJ_C_XT1.Checked = True
  54. Else
  55. DSGJ_C_XT2.Checked = True
  56. End If
  57. End If
  58. Tixing1.Enabled = False
  59. DSGJ1.Text = "定时关机<"
  60. Else
  61. Me.Width = 317
  62. DSGJ_T_SJ1.Text = "请填入完整时间"
  63. DSGJ_T_YC1.Text = ""
  64. DSGJ_C_XT1.Checked = False
  65. DSGJ_C_XT1.Checked = False
  66. If TX_B_QX1.Enabled = False Then '判断闹钟提醒是否未开启
  67. Tixing1.Enabled = True
  68. End If
  69. DSGJ1.Text = "定时关机>"
  70. End If
  71. End Sub
  72. '设置按钮
  73. Private Sub Setting1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Setting1.Click
  74. Me.Enabled = False
  75. Setting.Show()
  76. End Sub
  77. '时间计算器按钮变化
  78. Private Sub TX_B_SJZHQ1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_B_SJZHQ1.Click
  79. If Me.Height = 420 Then
  80. Me.Height = 517
  81. Else
  82. Me.Height = 420
  83. End If
  84. TX_T_XS1.Text = ""
  85. TX_T_FZ1.Text = ""
  86. End Sub
  87.  
  88.  
  89. '方式选择及控件开启
  90. Private Sub TX_C_FS1_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_C_FS1.CheckedChanged
  91. If TX_C_FS1.Checked = True Then
  92. TX_T_SJ1.Enabled = True
  93. TX_T_XX1.Enabled = True
  94. Else
  95. TX_T_SJ1.Text = "请填入完整时间"
  96. TX_T_SJ1.ForeColor = Color.Gray
  97. TX_T_SJ1.Enabled = False
  98. TX_B_KQ.Enabled = False
  99. TX_T_XX1.Enabled = False
  100. End If
  101. End Sub
  102. Private Sub TX_C_FS2_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_C_FS2.CheckedChanged
  103. If TX_C_FS2.Checked = True Then
  104. TX_T_JG1.Enabled = True
  105. TX_T_XX1.Enabled = True
  106. Else
  107. TX_T_JG1.Text = "请填入时间间隔"
  108. TX_T_JG1.ForeColor = Color.Gray
  109. TX_T_JG1.Enabled = False
  110. TX_B_KQ.Enabled = False
  111. TX_T_XX1.Enabled = False
  112. End If
  113. End Sub
  114.  
  115. '提醒时间文本框变化的相关影响
  116. Private Sub TX_T_SJ1_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_T_SJ1.TextChanged
  117. If TX_T_SJ1.Text = "" Or TX_T_SJ1.Text = "请填入完整时间" Then
  118. TX_B_KQ.Enabled = False
  119. Else
  120. TX_B_KQ.Enabled = True
  121. End If
  122. End Sub
  123. '提醒间隔文本框变化的相关影响
  124. Private Sub TX_T_JG1_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_T_JG1.TextChanged
  125. If TX_T_JG1.Text = "" Or TX_T_JG1.Text = "请填入时间间隔" Then
  126. TX_B_KQ.Enabled = False
  127. Else
  128. TX_B_KQ.Enabled = True
  129. End If
  130. End Sub
  131.  
  132. '闹钟提醒俩文本框鼠标按下事件
  133. Private Sub TX_T_SJ1_MouseDown(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles TX_T_SJ1.MouseDown
  134. If TX_T_SJ1.Text = "请填入完整时间" Then
  135. TX_T_SJ1.Text = ""
  136. TX_T_SJ1.ForeColor = Color.RoyalBlue
  137. End If
  138. End Sub
  139. Private Sub TX_T_JG1_MouseDown(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles TX_T_JG1.MouseDown
  140. If TX_T_JG1.Text = "请填入时间间隔" Then
  141. TX_T_JG1.Text = ""
  142. TX_T_JG1.ForeColor = Color.RoyalBlue
  143. End If
  144. End Sub
  145.  
  146. '闹钟提醒开启事件
  147. Private Sub TX_B_KQ_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_B_KQ.Click
  148. Dim instance As DateTime
  149. Dim value As Double
  150. Dim returnValue As DateTime
  151. If TX_C_FS1.Checked = True Then
  152. My.Settings.TX_SJ1 = TX_T_SJ1.Text
  153. My.Settings.TX_XX1 = TX_T_XX1.Text
  154. TX_L_Show.Text = "已开启的闹钟提醒:" & TX_T_SJ1.Text
  155. TX_T_SJ1.Text = "请填入完整时间"
  156. Else
  157. instance = DQSJ1.Text
  158. value = TX_T_JG1.Text
  159. returnValue = instance.AddMinutes(value)
  160. My.Settings.TX_JG1 = returnValue
  161. My.Settings.TX_XX1 = TX_T_XX1.Text
  162. TX_L_Show.Text = "已开启的闹钟提醒:" & returnValue
  163. TX_T_JG1.Text = "请填入时间间隔"
  164. End If
  165. Me.Height = 176
  166. TX_T_XX1.Text = ""
  167. TX_C_FS1.Checked = False
  168. TX_C_FS2.Checked = False
  169. Tixing1.Text = "闹钟提醒 ∨"
  170. Tixing1.Enabled = False
  171. TX_B_QX1.Enabled = True
  172. If DSGJ_B_QX1.Enabled = False Then
  173. DSGJ1.Enabled = True
  174. End If
  175. End Sub
  176.  
  177. Private Sub TX_Timer1_Tick(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_Timer1.Tick
  178. If DQSJ1.Text = My.Settings.TX_SJ1 Or DQSJ1.Text = My.Settings.TX_JG1 Then
  179. If My.Settings.MusicPath1 = "" Then
  180. My.Computer.Audio.Play(Application.StartupPath & "/Resources/Background1.wav")
  181. Else
  182. My.Computer.Audio.Play(My.Settings.MusicPath1)
  183. End If
  184. If My.Settings.TX_XX1 = "" Then
  185. MsgBox("提醒信息:" & "喂喂,时间到了!该干啥干啥去。","闹钟响起")
  186. Else
  187. MsgBox("提醒信息:" & My.Settings.TX_XX1,"闹钟响起")
  188. End If
  189. Tixing1.Enabled = True
  190. TX_L_Show.Text = "已开启的闹钟提醒:无"
  191. My.Settings.TX_SJ1 = ""
  192. My.Settings.TX_JG1 = ""
  193. My.Settings.TX_XX1 = ""
  194. End If
  195. End Sub
  196.  
  197.  
  198. Private Sub DSGJ_T_SJ1_MouseDown(ByVal sender As System.Object,ByVal e As System.Windows.Forms.MouseEventArgs) Handles DSGJ_T_SJ1.MouseDown
  199. If DSGJ_T_SJ1.Text = "请填入完整时间" Then
  200. DSGJ_T_SJ1.Text = ""
  201. DSGJ_T_SJ1.ForeColor = Color.RoyalBlue
  202. End If
  203. End Sub
  204. Private Sub DSGJ_T_SJ1_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ_T_SJ1.TextChanged
  205. If DSGJ_C_XT1.Checked = True Or DSGJ_C_XT2.Checked = True Then
  206. DSGJ_B_DSKQ1.Enabled = True
  207. Else
  208. DSGJ_B_DSKQ1.Enabled = False
  209. End If
  210. End Sub
  211.  
  212. Private Sub DSGJ_C_XT1_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ_C_XT1.CheckedChanged
  213. If DSGJ_C_XT1.Checked = True And DSGJ_T_SJ1.Text = "" Or DSGJ_C_XT1.Checked = True And DSGJ_T_SJ1.Text = "请填入完整时间" Then
  214. DSGJ_B_DSKQ1.Enabled = False
  215. Else
  216. DSGJ_B_DSKQ1.Enabled = True
  217. End If
  218. End Sub
  219. Private Sub DSGJ_C_XT2_CheckedChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ_C_XT2.CheckedChanged
  220. If DSGJ_C_XT2.Checked = True And DSGJ_T_SJ1.Text = "" Or DSGJ_C_XT2.Checked = True And DSGJ_T_SJ1.Text = "请填入完整时间" Then
  221. DSGJ_B_DSKQ1.Enabled = False
  222. Else
  223. DSGJ_B_DSKQ1.Enabled = True
  224. End If
  225. End Sub
  226. Private Sub DSGJ_B_DSKQ1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ_B_DSKQ1.Click
  227. If DSGJ_T_SJ1.Text = "" Then
  228. MsgBox("请填入时间!","定时关机")
  229. Else
  230. My.Settings.GJ_SJ1 = DSGJ_T_SJ1.Text
  231. My.Settings.GJ_YC1 = DSGJ_T_YC1.Text
  232. If DSGJ_C_XT1.Checked = True Then
  233. My.Settings.GJ_XT1 = "1"
  234. Else
  235. My.Settings.GJ_XT1 = "2"
  236. End If
  237. DSGJ_L_Show.Text = "已开启的定时关机:" & DSGJ_T_SJ1.Text
  238. Me.Width = 315
  239. DSGJ1.Text = "定时关机>"
  240. DSGJ1.Enabled = False
  241. If TX_B_QX1.Enabled = False Then
  242. Tixing1.Enabled = True
  243. End If
  244. DSGJ_B_QX1.Enabled = True
  245. End If
  246. DSGJ_T_SJ1.Text = "请填入完整时间"
  247. DSGJ_T_YC1.Text = ""
  248. End Sub
  249.  
  250. Private Sub DSGJ_Timer1_Tick(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ_Timer1.Tick
  251. Dim systemD As String
  252. Dim arguments As String
  253. Dim returnValue As Process
  254. If DQSJ1.Text = My.Settings.GJ_SJ1 Then
  255. If My.Settings.GJ_XT1 = "1" Then
  256. systemD = System.Environment.SystemDirectory
  257. arguments = "-s -t " & My.Settings.GJ_YC1
  258. My.Settings.GJ_SJ1 = ""
  259. My.Settings.GJ_YC1 = ""
  260. returnValue = Process.Start(systemD & "/shutdown.exe",arguments)
  261. Else
  262. systemD = System.Environment.SystemDirectory
  263. arguments = "/s /t " & My.Settings.GJ_YC1
  264. My.Settings.GJ_SJ1 = ""
  265. My.Settings.GJ_YC1 = ""
  266. returnValue = Process.Start(systemD & "/shutdown.exe",arguments)
  267. End If
  268. End If
  269. End Sub
  270.  
  271.  
  272. Private Sub TX_B_SJZHQ2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_B_SJZHQ2.Click
  273. If TX_T_XS1.Text = "" Then
  274. MsgBox("请输入值!","错误")
  275. Else
  276. TX_T_FZ1.Text = TX_T_XS1.Text * 60
  277. End If
  278. End Sub
  279. Private Sub TX_T_XS1_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_T_XS1.TextChanged
  280. If TX_T_XS1.Text = "" Then
  281. TX_T_FZ1.Text = ""
  282. End If
  283. End Sub
  284.  
  285. Private Sub TX_B_QX1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles TX_B_QX1.Click
  286. TX_L_Show.Text = "已开启的闹钟提醒:无"
  287. Tixing1.Enabled = True
  288. My.Settings.TX_SJ1 = ""
  289. My.Settings.TX_JG1 = ""
  290. My.Settings.TX_XX1 = ""
  291. TX_B_QX1.Enabled = False
  292. End Sub
  293. Private Sub DSGJ_B_QX1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles DSGJ_B_QX1.Click
  294. DSGJ_L_Show.Text = "已开启的定时关机:无"
  295. DSGJ1.Enabled = True
  296. My.Settings.GJ_SJ1 = ""
  297. My.Settings.GJ_XT1 = ""
  298. My.Settings.GJ_YC1 = ""
  299. DSGJ_B_QX1.Enabled = False
  300. End Sub
  301. Private Sub AboutButton1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles AboutButton1.Click
  302. About.Show()
  303. End Sub
  304. End Class

猜你在找的VB相关文章