【C#】マウス操作で行を並び替えに対応させる方法【データグリッドビュー】

C#

本日はデータグリッドビュー!
並び順を入れ替える作業をマウス操作(ドラッグ&ドロップ)で行いたいと要望を受けました。

元々データグリッドビュー上にボタンを配置し上下へ移動の動きにしていたものの、
それだと一個ずつずらしてくのが面倒!!との事でお直ししたコードおご紹介。

スポンサーリンク

メンバ変数と事前準備


今回はデータグリッドビューイベントの【MouseDown】【MouseMove】【DragOver】【DragEnter】の4つ追加ですね。
まず初めにデータグリッドビューAllow Drop をTrueにします。

次にメンバ変数として下記を配置。

これらを追加したら後は順番にイベントの追加をして行きます。

データグリッドマウス移動処理

 

データグリッドマウスダウン処理

 

データグリッドドラッグオ-バー処理

 

データグリッドドロップ処理

 

★おわりに-実際の完成形動作


上記コードを実装するとこんな動作になります。

実際に実装してみて思いましたが、移動頻度&項目が多い場合等はこっちの方が断然楽。
こういう所にも気配りというか【 気づき 】が出来なきゃまだまだ真のSEには成れませんね。。。
是非お試しください~(ᵔᴥᵔ)

コメント