EditorExtensions.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using DevExpress.XtraEditors;
  2. using Ips.Library.Basic;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace Ips.Library.DxpLib
  9. {
  10. public static class EditorExtensions
  11. {
  12. public static void EnableDragDropFile(this TextEdit textBox)
  13. {
  14. textBox.AllowDrop = true;
  15. textBox.DragDrop += TextBox_DragDrop;
  16. textBox.DragOver += TextBox_DragOver;
  17. }
  18. private static void TextBox_DragOver(object sender, DragEventArgs e)
  19. {
  20. e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None;
  21. }
  22. private static void TextBox_DragDrop(object sender, DragEventArgs e)
  23. {
  24. string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
  25. var self = sender as TextEdit;
  26. if (files != null && files.Length != 0)
  27. {
  28. self.Text = files.JoinAsString(";");
  29. }
  30. }
  31. }
  32. }