我對此感到困惑。我試圖在DataGridView
上執行拖放操作。沒有看到任何事件發生,我用一個文本框嘗試了一個簡單的表單。C#WinForms DragEnter永遠不會觸發
我想能夠從Windows資源管理器中拖動文件或文件夾。
我錯過了一些東西,因爲這些事件永遠不會發生。我沒有讀到DragEvents, Windows 7 and UIPI,但我仍然無法解決這個問題。
我出來的想法,我歡迎您的建議。
public Form1()
{
InitializeComponent();
this.AllowDrop = true;
textBox1.AllowDrop = true;
textBox1.DragEnter += new DragEventHandler(textBox1_DragEnter);
textBox1.DragDrop += new DragEventHandler(textBox1_DragDrop);
textBox1.DragOver += new DragEventHandler(textBox1_DragOver);
}
void textBox1_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
void textBox1_DragDrop(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
void textBox1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
看來,這應該工作。我在WP7 64上進行了全新安裝 - 包括所有更新,我沒有運行病毒或惡意軟件保護,或者任何可以阻止這些事件觸發的信息(據我所知)。
您試圖從應用程序拖動到另一個應用程序? – 2012-01-08 10:38:41
表單的DragEnter事件處理程序不會觸發,您沒有訂閱該事件。沒有明顯的原因爲什麼文本框'事件不會觸發。在其上設置一個斷點並將文件從Windows資源管理器拖到該框。 – 2012-01-08 11:44:46
@YochaiTimmer我更新了這篇文章,我試圖從資源管理器中拖動文件。 – nullable 2012-01-08 21:36:05