Есть ли способ остановить таймер, если пользователь использует текущую форму, например, запись в текстовое поле. Причина этого заключается в том, что каждую минуту я обновляю форму («Обновление данных из базы данных»), но если пользователь пишет в текстовое поле, а таймер добирается до этой минуты, он сбрасывает текстовое поле, и пользователь должен писать опять же, другими словами, он имеет ок. 1 минута, чтобы закончить запись в форме.Остановить таймер, если форма активна
private void timer1_Tick(object sender, EventArgs e)
{
SelectProgress();
}
private void SelectProgreso()
{
try
{
OleDbDataReader reader;
reader = oleDbCmd.ExecuteReader();
reader.Read();
progress= reader[1].ToString();
int op = Int32.Parse(progress);
switch (op)
{
case 1:
progressBar1.Value = 20;
button1.Enabled = false;
break;
case 2:
progressBar1.Value = 40;
button1.Enabled = false;
break;
case 3:
progressBar1.Value = 60;
button1.Enabled = false;
break;
case 4:
progressBar1.Value = 80;
break;
case 5:
progressBar1.Value = 100;
button1.Enabled = false;
break;
default:
Console.WriteLine("Error");
break;
}
}
catch (OleDbException error)
{
MessageBox.Show(error.ToString());
}
finally
{
mycon.Close();
}
}
Я использую Visual Studio 2013 WindowsForm. Любая помощь или комментарий по этому поводу приветствуются. Спасибо.
Я думаю, короткий пример кода может быть полезным для ОП. – rivarolle
Добавил его, надеюсь, он объяснит, как я думал об этом;) – fantaztig
Пошел с этой опцией, попробовал сделать функцию, ведьма возвращает bool, если любой из текстовых входов отличается, но в некоторых моих формах нет никаких из них, так как я использую вкладки с UC. @ BradleyDotNet, по-прежнему отличный совет для будущих проблем thx. – MoralesJosue