テキストボックスにコンテンツを非同期で表示したいですか? 以下にリストされている私のコードのバグを知っている人はいますか? テキストボックス内のテキストを実装したいのですが、新しい値で毎秒更新されますか? また、コントローラーの呼び出しメソッドを呼び出す前に毎回 InvokeRequired をチェックする理由を知りたいですか?
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);
}
ありがとう