0

答えがどこにも見つからなかったので、新しい質問を作成します。私はデータグリッドを持っています.SelectionChangedイベントの後のコードです。そして、DoubleClick に関するいくつかのコード (MouseDoubleClick、CellDoubleClick、DoubleClick を試しました)。高速な PC では問題ありませんが、Intel Atom を搭載した私の Windows 8 タブレットでは、アプリが遅くなり、SelectionChange のために DoubleClick が起動されません。

SelectionChange のコードにコメントを付けると、DoubleClick が発生します。しかし、コードを離れると、DoubleClick が認識されないほど遅いように見えます。それを発射するには、本当に速く(7〜8回)クリックする必要があります。

ある種のキューがあると思いました。そのため、少なくとも SelectionChange の後に DoubleClick を起動する必要があります。

それが DoubleClick でないかどうかを確認するために、SelectionChange が起動された後が待ちきれません。その後、高速なPCでもアプリが遅く見えます。

このイベントはどのように失われますか?

4

2 に答える 2

1

メインスレッドで作業を行っているようです。別のスレッドを使用して処理を行い、UI スレッドを解放してダブルクリックを受信できるようにしてください。

同期を行う必要がありますが、正しく行うと競合状態が緩和されるはずです。

于 2013-02-12T23:20:10.090 に答える
1

イベント ハンドラーで長い計算を行うべきではありません。新しいスレッドを開始する (またはthreadpoolから借用するか、新しいタスクを開始する)ことをお勧めし、バックグラウンド スレッドで実行時間の長いコードを実行します。

于 2013-02-12T23:21:16.407 に答える