| ああ様、わかりやすいソースありがとうございます_(__)_さっそく試させてもらいました。
private void vScrollBar1_ValueChanged(object sender, EventArgs e)
{
vScrollBar1.ValueChanged -= new EventHandler(vScrollBar1_ValueChanged);
ThreadPool.QueueUserWorkItem(_callback, count);
}
private void waitCallback(object o)
{
Thread.Sleep(2000);
this.Invoke(_event);
}
これだと通常動作確認しました。
ただ、スレッドプールの後スレッドを止めていないため、スリープ中、他のコントロールとか押せてしまいますね。
スレッドが終わるまで、他の余計なコントロールのEnabledをfalseにしようかな? |