這是一個愚蠢的問題......我試圖拖放一個圖片框到面板上。我遵循了一些示例,但它不起作用。面板的DragDrop事件從不會引發。我搜索thi網站尋找解決方案,並在一年前發現了兩個主題,但他們的解決方案無效。我創建了一個新的項目,只有這樣的代碼:未提高DragDrop事件
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
pictureBox1.MouseDown += new MouseEventHandler(pictureBox1_MouseDown);
panel1.DragDrop +=new DragEventHandler(panel1_DragDrop);
panel1.DragOver +=new DragEventHandler(panel1_DragOver);
}
private void panel1_DragOver(object sender, DragEventArgs e)
{
Console.WriteLine("DragOver");
}
private void panel1_DragDrop(object sender, DragEventArgs e)
{
Console.WriteLine("DragDrop");
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
Console.WriteLine("Mouse");
pictureBox1.DoDragDrop(pictureBox1.Text, DragDropEffects.All);
}
}
我還設置面板和形式真實的的AllowDrop。 DragOver和MouseDown被引發。另外,當我拖動圖片框時,光標變成禁止畫圈,就像是一個不允許的操作。有沒有辦法讓光標變成圖片框中的圖像?我不希望圖片框移動,只是爲了添加一個項目到面板。
經過幾次試驗後,我解決了關於拖拉事件不會升高的問題。其餘的工作很好。我只需將其添加到dragdrop事件即可工作。 private void canvasPanel_DragEnter(object sender,DragEventArgs e) e.Effect = DragDropEffects.Move ;; } – Amaranth 2010-11-06 23:58:03
你是對的!我只是試了一下,看看你的意思。很好地完成了:-) – 2010-11-07 04:32:50