Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Drag&Drop папки в TextBox


Автор: Georgich 4.10.2010, 15:01
Приветствую.
На форме есть TextBox. Необходимо, чтобы при перетаскивании папки в TextBox отобразился путь до папки.
Делаю так:
Код

      private void textBox1_DragEnter(object sender, DragEventArgs e)
              {
                  if (e.Data.GetDataPresent(DataFormats.Text))
                      e.Effect = DragDropEffects.Copy;
                  else
                      e.Effect = DragDropEffects.None;
              }
       
              private void textBox1_DragDrop(object sender, DragEventArgs e)
              {
                  textBox1.Text = e.Data.GetData(DataFormats.Text).ToString();
              }

Не работает. Видимо, из-за того, что указан DataFormats.Textх. Но что точно указать я не знаю.

Спасибо за подсказки. 

Автор: CYBERDREAM 4.10.2010, 15:13
у контрола выставь AllowDrop=true
Код

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

        private void textBox1_DragDrop(object sender, DragEventArgs e)
        {
            string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);
            if (s.Length > 0)
                textBox1.Text = s[0];
        }

Автор: Georgich 4.10.2010, 15:30
Выставил. Код сделал, как у вас, но никакого эффекта smile 
Когда пытаюсь перетащить папку в TextBox, то даже курсор не меняется. Может, еще надо что-то где-то объявить? Я уж по всем форумам обгляделся.

Автор: CYBERDREAM 4.10.2010, 15:33
у формы проставь тоже. Может из-за этого
у меня у формы и текст бокса стоял AllowDrop true.

Автор: Georgich 4.10.2010, 15:38
Вообще мрак. Может, зальете свой исходник?

Автор: CYBERDREAM 4.10.2010, 17:11
может у тебя вложенность еще какая то? Можешь увидеть в DocumentOutline (view - Other windows - DocumentOutline)


Автор: Georgich 4.10.2010, 18:37
Спасибо. Разобрался. У меня не было этого:
Код

            this.textBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.textBox1_DragDrop);
            this.textBox1.DragEnter += new System.Windows.Forms.DragEventHandler(this.textBox1_DragEnter);

 smile 

Автор: CYBERDREAM 4.10.2010, 18:43
копи пасте это зло

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)