我希望能够将列表框中的列表项拖到标签上,这样当您删除列表项时,它就会成为标签的文本。
我想我的鼠标部分是正确的:
private void listPlayers_MouseDown(object sender, MouseEventArgs e)
{
DoDragDrop(listPlayers.SelectedItem.ToString(), DragDropEffects.Copy);
}
我也相信这对于dragEnter
label
事件是正确的
private void posLB_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
但是,我不知道如何让DragDrop
事件适用于label
。我认为会是这样的:
private void posLB_DragDrop(object sender, DragEventArgs e)
{
posLB.text(e.Data.GetData(DataFormats.Text);
}
但那有错误。
答案 0 :(得分:0)
测试正确的类型,然后抓住它:
private void posLB_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.Text))
{
String s = e.Data.GetData(DataFormats.Text) as String;
if (!String.IsNullOrEmpty(s))
posLB.Text = s;
}
}