トニー電の.NETプログラミング講座

トニー電の.NETプログラミング講座

技術メルマガ(techmaga.com)のアメブロ準備版です。
一応、期間限定ってことで。

Amebaでブログを始めよう!

Hello everybody !!! 皆さん、programing 頑張っていますか?

皆さんと一緒に .NET プログラミングを学んでいく、「トニー電」です。今日も張り切っていきましょう。

今日は、画像をドラッグアンドドロップで表示させよう、の巻です。

■ドラッグアンドドロップのイベント

.NET プログラミングでは、ドラッグ&ドロップは非常に簡単です。既に用意されているイベントとプロパティを設定すれば簡単にできていしまいます。

覚えるところは3つ(いや、本当のところは覚えてなくてもいいんですけどね)、

  • AllowDrop プロパティ
    ドラッグアンドドロップを有効にします。
  • DragDrop イベント
    ファイルがドロップされたときに、呼び出されます。
  • DragEnter イベント
    ファイルがドロップされる前に、呼び出されます。

まずは、フォームを開いて、プロパティ ウィンドウで AllowDrop プロパティの値を True にします。

image

雷のアイコンをクリックして、イベントを表示させます。

DragDrop イベント、DragEnter イベントをダブルクリックします。

image

■DragEnter イベントを記述

このイベントは、ファイルをドロップするときの定番なので、そのまま書いてください。

    Private Sub Form1_DragEnter(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
        If e.Data.GetDataPresent(DataFormats.FileDrop) Then
            e.Effect = DragDropEffects.Copy
        End If
    End Sub

■DragDrop イベントを記述


これも定番の記述なので、そのまま書いてください。

    Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop
        Dim fname = CType(e.Data.GetData(DataFormats.FileDrop), String())
MessageBox.Show(fname(0))
    End Sub

MessageBox.Show のところは、ドロップしたファイル名を表示しているところです。


デバッグ実行して、画像ファイルをドロップすると、こんな感じになります。


image


■画像ファイルを切り替える


画像ファイルを読み込むには、「Bitmap クラス」というものを使います。なにやら、ややこしそうですが、.NET のプログラムでは非常に簡単に画像ファイルを読み込めるのです。

    Private Sub Form1_DragDrop(sender As System.Object, e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop
        Dim fname = CType(e.Data.GetData(DataFormats.FileDrop), String())
        ' MessageBox.Show(fname(0))
        ' 画像ファイルを読み込んで表示
        Me.BackgroundImage = New Bitmap(fname(0))
    End Sub

こんな風に、メッセージを表示しているところをコメントアウト(先頭に「'」を書きます)してしまって、フォームの BackgroundImage プロパティに Bitmap オブジェクトを貼りつけます。


「Me」というのが、フォーム自身で、「Me.BackgroundImage」というのが、フォームの BackgroundImage プロパティという意味です。


画像ファイルを読み込むときは「new Bitmap( ファイル名 )」とすればよいので、こんな風に1行で書けるわけです。


■実行してみよう


さて、デバッグ実行をしてみましょう。


image


この表示のところに、画像ファイルをドロップすると、


image


ほら、こんなに簡単に切り替えられますね。


■ヒント メソッドにコメントをつけよう


プログラムコードを書いたら、ちょっとだけコメントを付ける習慣をつけておくと良いです。たくさんのコメントはいらないのですが、後から見てわかるようにちょっとだけ、という感じですね。


メソッドのコメントは、メソッドの前の行で「'''」のように、シングルクォートを3つ書くと、自動的にコメントが書かれます。


image


ぜひ活用してみてください。


 


いよいよ、来週からは Visual Basic の詳しい文法に入ります。がしがし勉強して、がしがしプログラミングしていきましょう。


では、See you next week, bye bye !!!