2015年12月7日月曜日

P013-URLをドラッグ&ドロップ

今日の目標→

UnicodeのBOMについて探求する前にちょっと脇道へ。 いちいちURLを入力するのが面倒になってきたので、 今回はWebブラウザからURLをドラッグ&ドロップできるようにプログラムを改造してみる。

●Webブラウザからのドラッグデータを受け取るには

最近のWebブラウザは、 画面上のリンクや画像などをドラッグ&ドロップで持ち出せるので非常に便利である。 問題は、Webブラウザのドラッグ&ドロップには標準的な手法が決まっておらず、 各陣営が好き勝手にやっているという点だ。

試しにフォームのDragDropイベントに次のようなコードを書いて実行してみるといい。

ブラウザ画面から上記のフォームにリンクか何かをドラッグ&ドロップすると、 いろいろな形式のデータが取得可能なことがわかる。 ただし種類はFireFoxとChromeとMS Edgeでバラバラだ。 唯一共通しているのは、

UniformResourceLocator

という形式のドロップデータである。 これは字面からわかる通りURLを表している。 この形式のドロップデータからURLを文字列として取り出すには次のように書く。

URL以外のデータにも便利なものがありそうで、 たとえばブラウザから画像をドラッグ&ドロップした場合、 ローカルPCのキャッシュデータなんかもとれるみたいだが、 ブラウザごとに挙動が変わるのが困るなあ。 まあURLさえわかってれば、もっかいデータを読みにいけばいいんだし…。

●プロジェクトの作成

というわけで、前々回(P011~)で作成したNetJob2を改造する。

  1. プロジェクト作成ウィンドウを開く
  2. 「Windowsフォームアプリケーション」テンプレート、名前は「NetJob3」でプロジェクトを作る
  3. Form1.csを開き、NetJob2のFomr1.csをコピペし、次のように改造する

プログラムを実行し、ブラウザからURLをドラッグ&ドロップできることを確認する。やっぱドラッグ&ドロップは便利だなあ。

0 件のコメント:

コメントを投稿