перетащить файлы или папки в текстовом поле? C#

Хорошо.. найденный им..

dconf> org> гном> рабочий стол> интерфейс> приветствие can-change-accels

Im.

7
задан 2 September 2009 в 22:45
поделиться

4 ответа

Я написал этот код на основе этой ссылки

  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      textBox1.AllowDrop = true;
      textBox1.DragEnter += new DragEventHandler(textBox1_DragEnter);
      textBox1.DragDrop += new DragEventHandler(textBox1_DragDrop);

    }

    private void textBox1_DragEnter(object sender, DragEventArgs e)
    {
      if (e.Data.GetDataPresent(DataFormats.FileDrop))
        e.Effects = DragDropEffects.Copy;
      else
        e.Effects = DragDropEffects.None; 
    }

    private void textBox1_DragDrop(object sender, DragEventArgs e)
    {
      string[] FileList = (string[])e.Data.GetData(DataFormats.FileDrop, false);


    string s="";

    foreach (string File in FileList)
    s = s+ " "+ File ;
    textBox1.Text = s;
    }
  }
18
ответ дан 6 December 2019 в 07:51
поделиться

Элемент управления имеет различные события для работы с перетаскиванием / отпусканием - вам, вероятно, нужно будет только посмотреть на событие DragDrop для того, что вы хотите.

0
ответ дан 6 December 2019 в 07:51
поделиться

Установите для AllowDrop значение true в текстовом поле и напишите следующий код для событий DragDrop и DragEnter:

    private void textBox1_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            e.Effect = DragDropEffects.Copy;
        }
    }

    private void textBox1_DragDrop(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(DataFormats.FileDrop))
        {
            string[] fileNames = (string[])e.Data.GetData(DataFormats.FileDrop);
            textBox1.Lines = fileNames;
        }
    }
4
ответ дан 6 December 2019 в 07:51
поделиться

В CodeProject есть действительно хороший пример этого, включая то, как включить перетаскивание в обоих направлениях (из Explorer в ваше приложение и из вашего приложения в Explorer).

1
ответ дан 6 December 2019 в 07:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: