読者です 読者をやめる 読者になる 読者になる

森理 麟(moririring)のプログラマブログ

ゲームプログラマ森理 麟がのプログラムの話題を中心に書くブログです。

C#アプリの作り方入門〜「きほん」の「ほ」〜 その15 ドロップする対象について

Drop

テキストボックスにドラッグが分かりやすい

さて、問題も解決してドラッグ&ドロップは実装出来ました。

使いやすいUIにするのに、もう1つ気を使うポイントがあります。

それはドロップするコントロールをどれにするかです。

今回はテキストボックスに情報を入れたいので、テキストボックスにドラッグさせるのが一番直感的です。

分かりやすいけれどやりにくいのでフォームも対象にする

しかしいかんせん、ドラッグ対象としてテキストボックスは小さすぎます。

ユーザーとして対象が広くてやりやすいのは、フォーム自体にドラッグ出来るようなっていることです。

今回のようにドラッグ対象が1つしかない場合はフォームを対象にしてしまうのも手です。

テキストボックスもフォームも両方をドラッグ対象にすればやりやすく、分かりやすくなります。

フォームを対象にした場合複数時はどうすれば良いか

ただし、ドラッグ対象をフォームにしてしまうと、今回以外のケースの場合に少し問題点があります。

つまりドラッグ出来るコントロールが複数あった場合どうするかです。

対処方法としては、順番を作ってしまって、その順番に情報を入れていく方法が考えられます。

例えば、複数回ドロップされたら上から下に情報が入っていく感じです。

フォーカスがある場所にドロップさせれば良い

ただ、この方法だと任意で入れたいと思っている場所に情報が入れられません。

つまり1番目、2番目、4番目と情報を入れたい時でも勝手に3番目に情報が入ってしまいます。

そこで強制ではなく、フォーカスがドラッグ対象なら、そこにドロップ情報を入れる実装にします。

これで好きな所に情報が入れられます。そしてドロップ後、フォーカスを次に移動させます。

                                                                                                                                                                              • -

わんくま同盟 大阪勉強会 #48。4月7日開催です。

今回は「森理式ハッカソンのススメ」です。

ハッカソン未経験の人に向けて、ハッカソンの面白さについて語ります。