.NETのフォームアプリケーションで,ただ単にFormのプロパティでAllowDropを許可しても,イベント発生時に呼び出される関数の引数,DragEventArgsのエフェクトの値がDragDropEffects::Noneのままでは,DragDropがコールされない。
DragDropEffects 列挙体に記述されているように, DragEnter()がcallされた時に,エフェクトの値をNone以外の値に変更しておく。
例えばファイルがDrag and Dropされた場合はこんな手順。
- フォーム上に到達したときに,DragEnter()がcallされる。
- DragEnter()内ででDragEventArgsのエフェクトの値をAllに変更する
- この状態でドロップした際にDragDrop()がcallされるので,適当な処理をする。
No comments:
Post a Comment