Example #1
0
    /// <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]);
        }
    }