我有一个CustomControl,其中包含一个带有标签的按钮。我怎样才能拖放这个自定义控件,无论我从哪里开始拖动以及将其放在另一个自定义控件上(重新排列它们)。要使发送者和接收者成为整个自定义控件,因为如果我从按钮拖动发送者是按钮,我只拖动按钮而不是整个自定义控件..我想拖动一个在另一个上添加它在那个位置。
答案 0 :(得分:0)
找到解决方案:
private void flowLayoutPanel1_DragDrop(object sender, DragEventArgs e)
{
Control target = new Control();
target.Parent = sender as Control;
if (target != null)
{
int targetIndex = FindCSTIndex(target.Parent);
if (targetIndex != -1)
{
string cst_ctrl = typeof(CustomControl).FullName;
if (e.Data.GetDataPresent(cst_ctrl))
{
Button source = new Button();
source.Parent = e.Data.GetData(cst_ctrl) as CustomControl;
if (targetIndex != -1)
this.flowLayoutPanel1.Controls.SetChildIndex(source.Parent, targetIndex);
}
}
}
}