SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Windowsフォームアプリケーションにドラッグ&ドロップ機能を実装する

わずかな手間でユーザビリティがぐっと向上

カスタムオブジェクトのドラッグ&ドロップ

 ここまで、DataFormatsクラスで規定されているさまざまなデータタイプのうち、いくつかの使用法を見てきました。DataFormatsクラスで規定されているデータタイプには、BitmapCommaSeparatedValueDibDifEnhancedMetafileFileDropHtmlLocaleMetafilePictOemTextPalettePenDataRiffRtfSerializableStringFormatSymbolicLinkTextTiffUnicodeTextWaveAudioなどがあります。しかし、ここにリストされていないタイプのデータをドラッグ&ドロップしたい場合はどうなるでしょうか。例えば、ListViewコントロールからアイテムをドラッグしたいと思うかもしれません。この場合、DragEnterイベントは次のようになります。

If (e.Data.GetDataPresent _
  ("System.Windows.Forms. _
  ListViewItem()")) Then
  '---determine if this is a copy
  '---or move---
  If (e.KeyState And CtrlMask) =
     CtrlMask Then
     e.Effect =
     DragDropEffects.Copy
  Else
     e.Effect =
     DragDropEffects.Move
  End If

 また、MouseDownイベントハンドラは次のようになります。

Control.DoDragDrop(New _
  DataObject("System.Windows.Forms. _
  ListViewItem()", Items), _
  DragDropEffects.Move Or _
  DragDropEffects.Copy)

 ご覧のように、Windowsアプリケーションにドラッグ&ドロップ機能を実装するのは、それほど難しくありません。必要なのは、サポートしたいデータのタイプを理解し、その特定のデータタイプを処理するのに必要な準備をすることです。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Wei-Meng Lee(Wei-Meng Lee)

Microsoft MVP受賞者。Microsoft社の最新テクノロジー実地研修を専門とするDeveloper Learning Solutions社を創設。.NETとワイヤレステクノロジーの開発者、指導者として知られる。国際的なカンファレンスでたびたび講演し、.NET、XML、ワイヤレステクノロジーに関す...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/2653 2008/07/18 10:02

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー