Я получил функцию:Таймер не запускается второй раз
Private Sub UpdateSch()
Threading.Thread.Sleep(50)
Dim i As Integer = 1
While i = 1
Try
If DataGridView1.Rows.Count > 1 Then
DataGridView1.Rows.Clear()
End If
Using stream As System.IO.FileStream = System.IO.File.OpenRead("Z:\\SchData.txt")
Using reader As New System.IO.StreamReader(stream)
Dim line As String = reader.ReadLine()
While (line IsNot Nothing)
Dim columns = line.Split(";")
line = reader.ReadLine()
Dim index = Me.DataGridView1.Rows.Add()
Me.DataGridView1.Rows(index).SetValues(columns)
End While
End Using
End Using
Button88.Enabled = True
DataGridView1.CurrentCell = DataGridView1.Rows(rowIndex).Cells(colIndex)
i = 0
Catch ex As Exception
Threading.Thread.Sleep(50)
End Try
End While
'Check for local updating
If updatingSch = False Then
DataGridView1.Enabled = False
LockWarning1.Visible = True
lockVar1 = 0
LockTimer1.Start()
Else
updatingSch = False
End If
End Sub
А потом у меня есть таймер:
Private Sub LockTimer1_Tick(sender As Object, e As EventArgs) Handles LockTimer1.Tick
LockWarning1.Visible = False
DataGridView1.Enabled = True
LockTimer1.Stop()
End Sub
Функция updateSch вызывается в виде нагрузки и всякий раз, когда файл изменяется. Он блокирует DataGridView, запускает таймер, который работает в течение 10 секунд, а затем разблокирует Datagridview. Все это работает при загрузке, но когда оно вызывается снова, оно блокируется и никогда не разблокируется. Во второй раз таймер не запускается. (Я поставил точку останова на «LockTimer1.Start()», и он выполняется во второй раз, но после этого событие LockTimer_Tick не срабатывает)
Вызов 'LockTimer1.Enabled = true' запустит таймер. Попробуйте вместо «LockTimer1.Start()« Мне повезло с этим. – OneFineDay
Какой тип 'LockTimer1'? 'System.Windows.Forms.Timer' или' System.Timers.Timer' или ...? –
@OneFineDay Я попытался использовать LockTimer1.Enabled = True и LockTimer1.Enabled = False вместо этого, но я получил те же результаты. –