目的
完全な備忘メモです。
コード
public delegate void DelegateUpdateForm(string param1, string param2);
private void UpdateForm(string s1, string s2)
{
if (this.InvokeRequired)
{
this.Invoke(new DelegateUpdateForm(UpdateForm),new object[] { s1, s2 });
return;
}
DateTime dt = DateTime.Now;
this.label1.Text = s1;
this.label2.Text = string.Format("{0:HH時mm分ss秒fff} {1}", DateTime.Now, s2);
}
コード説明
タイマーやらタスクで別スレッドで動かしているやつから、フォーム上の何かを更新するときに、複数値を渡した上で、スレッドセーフに更新したいときにするやつ。
コード その2
ラムダ式もあるよってコメント頂いたので追加です!(感謝)
private void UpdateForm(string s1, string s2)
{
if (this.InvokeRequired)
{
this.Invoke(() => this.UpdateForm(s1, s2));
return;
}
DateTime dt = DateTime.Now;
this.label1.Text = s1;
this.label2.Text = string.Format("{0:HH時mm分ss秒fff} {1}", DateTime.Now, s2);
}
REFERENCEs
さいごに
お疲れ様でした!