今日の目標→
前回のプログラム(ImageView)に手を加え、ドラッグ&ドロップで画像ファイルを開けるようにする。
●プロジェクトの作成
- 「ImageView2」という名前で、新規プロジェクトを作る
- Form1.csのコードを開き、前回のForm1.csのコードをコピペする
- コードを次のように修正する。
しかしこれ<textarea>タグでコードを表示してるんだけど読みにくいな。別の表示法にしたほうがいいかな。まあ、おいおい考えよう。
●要点の解説
フォームに対してドラッグ&ドロップを行うには、少なくとも次の3つが必要だ。
- DragEnterイベントの処理ルーチンを追加する
- DragDropイベントの処理ルーチンを追加する
- AllowDropフラグをtrueに設定する
イベント処理ルーチンの入力はVisual Studioが助けてくれるので楽ちんである。たとえばDragEnter処理を書く場合は次のようになる。
- まず「this.DragEnter +=」まで手で入力する
- TABキーを押すと、自動的にイベントハンドラの枠組みのコードが挿入される
- Enterキーを押すと確定する。Enterキーを押す前にハンドラ名の変更もできるが、まあ必要ないと思う
- イベントハンドラの枠組みができたら、あとは中身を自分でコーディングする
DragEnterハンドラとDragDropハンドラの中身は、定型の処理なので説明は省略する。わからない部分があればコメント欄ででも質問してください。できる範囲で答えます。
コードを書き終えたらさっそく実行してみよう。Windowsのフォルダから適当な画像ファイルをドラッグして、このプログラムのフォームにドロップすれば、画像が表示されるはずだ。
(実行画面が入る予定)
0 件のコメント:
コメントを投稿