Ejemplo n.º 1
0
        public static void RegisterMultiFileDragDrop(Control c, MultiFileReceiver r, Getter<string> filter)
        {
            c.AllowDrop = true;
            c.DragEnter += delegate(object sender, DragEventArgs e)
            {
            e.Effect = DragDropEffects.None;

            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false);
                if (files.Length > 0 &&
                    Array.Exists<string>(files, delegate(string s)
                {
                    return FileUtil.MatchesFilter(filter(), s);
                }))
                    e.Effect = DragDropEffects.All;
            }
            };

            c.DragDrop += delegate(object sender, DragEventArgs e)
            {
            r(Array.FindAll<string>(((string[])e.Data.GetData(DataFormats.FileDrop, false)),
                delegate(string s)
                {
                    return FileUtil.MatchesFilter(filter(), s);
                }));
            };
        }
Ejemplo n.º 2
0
 public static void RegisterMultiFileDragDrop(Control c, MultiFileReceiver r, string filter)
 {
     RegisterMultiFileDragDrop(c, r, delegate() { return filter; });
 }
Ejemplo n.º 3
0
 public static void RegisterMultiFileDragDrop(Control c, MultiFileReceiver r)
 {
     RegisterMultiFileDragDrop(c, r, "*.*");
 }
Ejemplo n.º 4
0
 public static void RegisterMultiFileDragDrop(Control c, MultiFileReceiver r)
 {
     RegisterMultiFileDragDrop(c, r, "*.*");
 }
Ejemplo n.º 5
0
 public static void RegisterMultiFileDragDrop(Control c, MultiFileReceiver r, string filter)
 {
     RegisterMultiFileDragDrop(c, r, delegate() { return(filter); });
 }