У меня есть текстовое поле на winform в Visual Studio. Я хочу перетаскивать на него файлы. Вот что я сделал:
public LangMerge()
{ InitializeComponent();
this.AllowDrop = true;
tbxFilepath.AllowDrop = true;
tbxFilepath.DragDrop += new DragEventHandler(tbxFilepath_DragDrop);
tbxFilepath.DragEnter += new DragEventHandler(tbxFilepath_DragEnter);
}
void tbxFilepath_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string file in files) tbxFilepath.Text=(file);
}
void tbxFilepath_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy;
}
Ни эффект перетаскивания, ни получение файла не работает. Никаких сообщений об ошибках или предупреждений. В чем может быть проблема?
ОБНОВЛЕНИЕ: я вставил точки останова в методы обработчика событий, и код не попадает в них в первую очередь, независимо от того, что я делаю с курсором.