/// <summary> /// ファイルがドロップされた時の処理 /// </summary> /// <param name="files"></param> private void Window_OnFilesDropped(string[] files) { // 自分のウィンドウにフォーカスを与える window.Focus(); // 表示対象リストを消去 targetFiles.Clear(); foreach (string path in files) { if (File.Exists(path)) { // 画像ならば表示対象に追加 if (CheckImageFile(path) || CheckMovieFile(path)) { targetFiles.Add(path); } } else if (Directory.Exists(path)) { // フォルダならばその中の画像を表示対象に追加 AddTargetDirectory(path, ref targetFiles); } } targetFiles.Sort(); if (targetFiles.Count < 1) { return; } // 1ファイルだけ読み込み LoadFile(targetFiles[0]); // 指定ファイルが1つしかなければ、表示対象リストなしとして同一フォルダ内探索を行う。 // そうでなければ表示対象のみのスライドショーとする if (targetFiles.Count == 1) { targetFiles.Clear(); } }
/// <summary> /// ファイルがドロップされた時の処理 /// </summary> /// <param name="files"></param> private void Window_OnFilesDropped(string[] files) { // 自分のウィンドウにフォーカスを与える window.Focus(); if (files.Length == 1) { // 一つだけドロップの場合はスライドショーリストを消去 targetFiles.Clear(); // ファイルだけ読み込み LoadFile(files[0]); } else if (files.Length > 1) { // 複数のファイルがあれば、それらをスライドショー対象とする targetFiles.Clear(); targetFiles.AddRange(files); targetFiles.Sort(); // 最初のファイルだけ読み込み LoadFile(targetFiles[0]); } }