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]); }; }
public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r, string filter) { RegisterSingleFileDragDrop(c, r, delegate() { return(filter); }); }
public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r) { RegisterSingleFileDragDrop(c, r, "All files|*.*"); }
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]); }; }
public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r, string filter) { RegisterSingleFileDragDrop(c, r, delegate() { return filter; }); }
public static void RegisterSingleFileDragDrop(Control c, SingleFileReceiver r) { RegisterSingleFileDragDrop(c, r, "*.*"); }