Я делаю некоторые проверки относительно пути (если файл существует или нет в указанном каталоге), и мне нужно запустить TextChangedEvent через некоторое время после ошибки, чтобы снова проверить этот файл. Вот код, который я использую для проверки этой ошибки:Как запустить событие Text.TextChanged с таймером
private void textBoxNovoSvrc_TextChanged(object sender, EventArgs e)
{
First++;
bool ok = false;
int same = 0;
try
{
if (!String.IsNullOrWhiteSpace(textBoxNovoSvrc.Text) && Program.Funcoes.ExisteDirectoria(textBoxNovoSvrc.Text) == true)
{
if (Erro2 == -1 || Erro2 == 0)
same = TextBoxSame(First);
if (same == 1)
return;
if (Global.VersaoInvalidaCli == true && Global.VersaoInvalidaSvrc == true)
{
Global.SvrcChanged = true;
buttonContinuar.PerformClick();
}
if (Program.Funcoes.ExisteFicheiro(textBoxNovoSvrc.Text + @"\OrcaService.exe.config") == true)
{
if (Global.VersaoInvalidaCli == true && Global.VersaoInvalidaSvrc == true)
{
buttonContinuar.PerformClick();
epDoesntExist1.Dispose();
epInvalidVersionSvrc.SetError(textBoxNovoSvrc, "Versão de Update Inválida!");
epInvalidVersionSvrc.Dispose();
epInvalidVersionCli.Dispose();
textBoxNovoCli.Text = Directory.GetParent(textBoxNovoSvrc.Text) + @"\Orca";
return;
}
if (textBox1 == textBoxNovoSvrc.Name || textBox2 == textBoxNovoSvrc.Name)
{
TextBoxes(textBox1, textBox2, true);
}
//Colocar aqui a versão mais recente do update;
string path = Directory.GetParent(textBoxNovoSvrc.Text).ToString();
//string Nome = System.IO.Path.GetFileName(path);
labelNovaVersãoServ.Text = Program.Funcoes.NovaVersao(path, Global.versionError);
Erro2 = 0;
ok = true;
errorProviderNoSvrc.Dispose();
epInvalidVersionSvrc.Dispose();
epDoesntExist2.Dispose();
Global.NovoServiço = textBoxNovoSvrc.Text;
textBoxNovoSvrc.BackColor = System.Drawing.Color.Green;
Continue++;
if (Continue >= 4)
buttonContinuar.Enabled = true;
else
{
buttonContinuar.Enabled = false;
}
btnBrowse2.Enabled = true;
textBoxNovoCli.Enabled = true;
textBoxNovoCli.Text = "";
textBoxNovoCli.Text = Directory.GetParent(textBoxNovoSvrc.Text).ToString() + @"\Orca";
}
else
{
ok = false;
textBoxNovoSvrc.BackColor = System.Drawing.Color.Red;
buttonContinuar.Enabled = false;
Erro2 = 1;
textBoxNovoSvrc.Focus();
epDoesntExist2.Dispose();
epInvalidVersionSvrc.Dispose();
errorProviderNoSvrc.SetError(textBoxNovoSvrc, "Ficheiro \"OrcaService.exe.config\" não existe na directoria");
return;
}
На последнем еще после errorProviderNoSvrc.SetError(textBoxNovoSvrc, "Ficheiro \"OrcaService.exe.config\" não existe na directoria");
мне нужно стрелять таймер подождать около 5 секунд перед разжиганием события TextChanged снова. Возможно ли это сделать или что мне нужно сделать еще один подход, например, запустить окно с запросом, чтобы снова проверить файл и запустить событие TextChanged «вручную», сохранив путь в var и, текстовое поле, как это TexBoxNovoSvrc.Text = ""
и чем TextBoxNovoSvrc.Text = OldPath.
Почему бы просто не назвать его? 'textBoxNovoSvrc_TextChanged (null, null)', поскольку args являются стандартными аргументами. – TaW