我正在做我的第一个拖放应用程序。我有一个工具箱,您可以在其中找到与 Visual Studio 完全相同的标签、按钮和其他组件。我在中间有面板。我希望用户将按钮拖放到面板上。我写了一些代码,但没有做拖放技巧。
这是屏幕截图
这是我应该处理拖放的代码
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
ListBox box = (ListBox)sender;
String selectedValue = box.Text;
DoDragDrop(selectedValue.ToString(), DragDropEffects.Copy);
}
private void pnl_form_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void pnl_form_DragDrop(object sender, DragEventArgs e)
{
Label newLabel = new Label();
newLabel.Name = "testLabel";
newLabel.Text = e.Data.GetData(DataFormats.Text).ToString();
newLabel.AutoSize = true;
newLabel.Parent = pnl_form;
}
难道我做错了什么?