Exemplo n.º 1
0
        public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver 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 == 1 && FileUtil.MatchesFilter(filter(), files[0]))
                    {
                        e.Effect = DragDropEffects.All;
                    }
                }
            };
            c.DragDrop += delegate(object sender, DragEventArgs e)
            {
                r(((string[])e.Data.GetData(DataFormats.FileDrop, false))[0]);
            };
        }
Exemplo n.º 2
0
 public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r, string filter)
 {
     RegisterSingleFileDragDrop(c, r, delegate() { return(filter); });
 }
Exemplo n.º 3
0
 public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r)
 {
     RegisterSingleFileDragDrop(c, r, "All files|*.*");
 }
Exemplo n.º 4
0
        public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver 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 == 1 && FileUtil.MatchesFilter(filter(), files[0]))
                    e.Effect = DragDropEffects.All;
            }
            };

            c.DragDrop += delegate(object sender, DragEventArgs e)
            {
            r(((string[])e.Data.GetData(DataFormats.FileDrop, false))[0]);
            };
        }
Exemplo n.º 5
0
 public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r, string filter)
 {
     RegisterSingleFileDragDrop(c, r, delegate() { return filter; });
 }
Exemplo n.º 6
0
 public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r)
 {
     RegisterSingleFileDragDrop(c, r, "*.*");
 }