2014-03-05 15 views
-1

禁用按钮如何自动禁用按钮在vb.net一段时间? 我的项目。我投票开始我只是从上午9时 - 10。所以,我在登录之前应该和给定的时间后自动关闭按钮用vb.net和SQL Server投票管理。如何自动在vb.net

+0

检查在页面加载的时间,必要时禁用按钮。 – Cerveser

+0

不,它应该在给定时间后自动禁用 – user2815781

+0

您是否在为美国公司工作?选举?但严重的是,这是一个网络或桌面应用程序? –

回答

0

在表单/页面加载,使用日期时间来获得当前的小时:

Dim currentDate As System.DateTime 
Dim currentHour As Integer 

currentDate = Date.Now() 
currentHour = currentDate.Hour 

If currentHour = 9 Or currentHour = 10 Then 
    button.Visible = False 
Endif 
+0

该按钮必须根据时间自动设置为启用或禁用。你能帮忙吗? – user2815781

+0

你的意思是说用户不必刷新你的表单来获得你的按钮的新状态? – Lovy

+0

之前或指定的时间后,用户不能使用该按钮,即使他刷新\ – user2815781

2

运行,从这个角度上应该循环在启动一个Thread永远。检查DateTime.Now以检查它当前的时间。 EnableDisable如果时间在您分配的时间之间。然后计算在窗口结束之前需要等待的时间,在该时间段内将thread设置为sleep

编辑:示例代码

确保您有这个顶部。 Imports System.Threading

Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) 
    Dim myThread As System.Threading.Thread 
    myThread = New System.Threading.Thread(AddressOf ThreadLoop) 
    myThread.Start() 
End Sub 

Private Sub ThreadLoop() 
    While True 
     Dispatcher.Invoke(
      Sub() myButton.IsEnabled = (DateTime.Now.Hour = 9)) 
     Thread.Sleep(10000) ' This implementation just rechecks every 10 seconds 
    End While 
End Sub 

注意:该解决方案将自动更新UI的时间变化时。

+0

我可以知道编码我的时间(9 am-10am)\ – user2815781

+1

编码????????? – user2815781

+0

@ user2815781我已经添加了示例代码 – BenVlodgi