このコードでは、リストボックスにドラッグアンドドロップされたファイルをリストボックスに列挙する。 リストボックス以外のコントロールにドラッグアンドドロップする場合も同様のコードで可能。 ドロップできるようにするために、ドロップする対象のコントロールのAllowDropプロパティをTrueに設定しておく必要がある。

private void listBoxFiles_DragDrop( object sender, System.Windows.Forms.DragEventArgs e )
{
    // 格納されているデータを文字列型配列に変換
    string[] files = (string[])e.Data.GetData( DataFormats.FileDrop, false );

    listBoxFiles.BeginUpdate();

    listBoxFiles.Items.Clear();

    listBoxFiles.Items.AddRange( files );

    listBoxFiles.EndUpdate();
}

private void listBoxFiles_DragEnter( object sender, System.Windows.Forms.DragEventArgs e )
{
    // 格納されているデータの形式を確認する
    if ( e.Data.GetDataPresent( DataFormats.FileDrop ) ) 
    {
        e.Effect = DragDropEffects.Copy;
    }
    else
    {
        e.Effect = DragDropEffects.None;
    }
}