私は5秒間隔でテキスト行を入力するプログラムを書いています。さて、私がしようとしているのは、各文字の間に小さなスペースを置いて、文字でテキスト文字を入力する関数を追加することです。私はThread.Sleepを使用しようとしていますが、私のプログラムがクラッシュしてしまい、理由がわかりません。間隔で文字を入力する方法は?
これを正しく行うにはどうすればよいですか?
private void Interval(object sender, EventArgs e)
{
if (cbPause.Checked == false)
{
SendKeys.Send(txtText.Text + "{enter}");
if (tbType.SelectedTab == tbInterval) tmrInterval.Interval = int.Parse(nudInterval.Value.ToString());
if (tbType.SelectedTab == tbRange) tmrInterval.Interval = random.Next(int.Parse(nudMin.Value.ToString()), int.Parse(nudMax.Value.ToString()));
}
else if (cbPause.Checked == true)
{
Random random = new Random();
foreach (char character in charList)
{
SendKeys.Send(character.ToString());
Thread.Sleep(1000);
}
SendKeys.Send("{enter}");
}
}
private void btnStart_Click(object sender, EventArgs e)
{
if (txtText.TextLength < 1 || txtText.Text == string.Empty)
{
lblMessage.Text = "You must type text to proceed!";
btnStart.Enabled = false;
}
else
{
foreach (char character in txtText.Text)
{
charList.Add(character);
}
if (tbType.SelectedTab == tbInterval)
{
tmrDelay.Enabled = true;
txtText.Enabled = false;
nudInterval.Enabled = false;
nudMin.Enabled = false;
nudMax.Enabled = false;
btnStart.Enabled = false;
btnStop.Enabled = true;
}
if (tbType.SelectedTab == tbRange)
{
tmrDelay.Enabled = true;
tbType.Enabled = false;
txtText.Enabled = false;
nudInterval.Enabled = false;
nudMin.Enabled = false;
nudMax.Enabled = false;
btnStart.Enabled = false;
btnStop.Enabled = true;
}
lblMessage.Text = "Starting auto typing in: 3";
}
}
コードヒントを:もしあなたが 'if(x == true){/ * ... * /} else if(x == false){/ * ... * /}' {/ * ... * /} else {/ * ... * /} '。 – Ryan
また、あなたは何を得ているのですか? – Ryan
@minitech、まったく、リモートマシンからログアウトするまでハングアップしません。 – HelpNeeder