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