は私が..私は、ペーストは、その後、私はリフレッシュする必要がありますいくつかのコードを実行する必要がありスレッドがジョブを完了してから次のコマンドを実行するまでにはどうすればよいですか?
private void btnPaste_Click(object sender, EventArgs e)
{
if (copiedItems != null)
{
if (copy)
{
System.Threading.Thread thPASTE = new System.Threading.Thread(PasteFromCopy);
thPASTE.Start(currAddress);
lock (this)
{
btnRefresh_Click(sender, e);
}
}
else
{
System.Threading.Thread thPASTE = new System.Threading.Thread(PasteFromMove);
thPASTE.Start(currAddress);
lock (this)
{
btnRefresh_Click(sender, e);
}
}
}
}
その後、次のコマンドを実行し、そのジョブを完了スレッドまで待つ必要がある以下のコードを持っている(ただし、動作しません)私はそれが私のためにスレッドのリフレッシュを呼び出すときに動作しないため、私はそれを行うこの方法が必要です
どのように私はそれを行うのですか?
また、代わりにthis' 'のロックを取っての、プライベートロック変数を検討する必要があります。例えば、 'private readonly object lockObject = new object();'詳細はこのスレッドを見ることができますhttp://stackoverflow.com/questions/251391/why-is-lockthis-bad –
スレッドの開始には意味がありません。それを待ってください。 PasteFromCopy()を直接呼び出すこともできます。 –