-2

次のコードを使用して、ファイルを ac# winforms アプリケーションにドラッグ アンド ドロップします。私が抱えている問題は、DragDrop イベント ハンドラーに時間がかかることです。この間、ファイルをドラッグしたウィンドウを使用できません。これはどのように修正できますか?

private void FormMain_DragDrop(object sender, DragEventArgs e)
{
    string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
    // do some long operation
}

private void FormMain_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
    e.Effect = DragDropEffects.All;
else
    e.Effect = DragDropEffects.None;
}
4

2 に答える 2

0

UI を集中的に使用しない場合は、この実行時間の長い操作にバックグラウンド スレッドを使用できます。

ThreadPool.QueueUserWorkItem((o) => /* long running operation*/)
于 2013-05-04T10:31:21.970 に答える