wpf
ドラッグドロップ機能をフォームに実装しようとしています。ctrl目的は、ドラッグしてユーザーコントロールのコピーを作成することを実装することです( +Mouseleftbutton
ドラッグアンドドロップを使用したWindows 7フォルダーのコピーに似ています)。ctrl キーが押されていない場合、ドロップは正常に機能しますが、ctrlキーが押されている場合、ドロップ イベントは発生しません。ctrlキーが押されたときにドロップを検出するにはどうすればよいですか?
質問する
816 次
1 に答える
3
目的を達成するためにキーの押下を検出する必要はありません。それはすべて、プロパティの値に依存し(DragEventArgs).AllowedEffects
ます。DragDrop.DoDragDrop
これは、メソッドを呼び出すときに最初に設定されます。
DragDrop.DoDragDrop(dragSource, data, DragDropEffects);
ここで、DragDropEffects
プロパティは type の列挙を表しますDragDropEffects
。これを に設定するとDragDropEffects.Copy | DragDropEffects.Move
、 (キーを押したままにすると)移動またはコピーできるようになります。Ctrl
DragDrop.DoDragDrop(dragSource, data, DragDropEffects.Copy | DragDropEffects.Move);
type のパラメーターを受け取るドラッグ アンド ドロップ ハンドラーの 1 つで、メソッドで設定した値がプロパティに含まれていることDragEventArgs
がわかります。プロパティを同じ値に設定して 、ユーザーがマウス ボタンを離したときに両方の操作を実行できるようにするだけです。(DragEventArgs).AllowedEffects
DragDrop.DoDragDrop
(DragEventArgs).Effects
于 2013-09-11T10:04:04.270 に答える