텍스트 상자에 내용을 비동기 적으로 표시하고 싶습니까? 누구든지 내 코드의 버그를 알고 있습니까? 나는 새로운 값으로 초당 업데이트 될 텍스트 상자에 텍스트를 구현하고 싶습니까? 또한 나는 왜 InvokeRequired를 호출 할 때마다 매번 Invoke 메소드를 호출 할까?텍스트 상자의 내용 비동기
private void Counting(int Num)
{
int i = 0;
string counter = null;
while (i < Num)
{
Thread.Sleep(1000);
counter = string.Format(" {0}", i);
tbxStatus.BeginInvoke(new UpdateStatusDelegate(UpdateStatus), new string[] { counter });
}
}
public void UpdateStatus(string data)
{
tbxStatus.Text += data;
}
public delegate void UpdateStatusDelegate(string data);
public delegate void CountDelegate(int num);
private void btnStart_Click(object sender, EventArgs e)
{
if (this.InvokeRequired)
{
this.Invoke(new CountDelegate(Counting), new object[] { 5 });
}
else
Counting(5);
}
감사