문제 아래 코드의 다음 줄에 널 (null) 인 유지, 당신은 정확한을 지정해야 유형.
control.DoDragDrop(new Label(), DragDropEffects.Move);
e.Data.GetDataPresent(typeof(Control)) // = false
e.Data.GetDataPresent(typeof(Label)) // = true
당신이해야 할 일은 래퍼를 만들고 드래그 앤 드롭 코드로 사용하는 것입니다.
class ControlWrapper
{
public Control Control { get; private set; }
public ControlWrapper(Control control) { Control = control; }
}
control.DoDragDrop(new ControlWrapper(new Label()), DragDropEffects.Move);
e.Data.GetDataPresent(typeof(ControlWrapper)) // = true
그리고 코드는 이제
ControlWrapper controlWrapper = e.Data.GetData(typeof(ControlWrapper)) as ControlWrapper;
UserControl userControl = controlWrapper.Control as UserControl;
그리고 너무 설교 소리를하지 않으려 고 노력을하게되지만 데이터가 먼저 원하는 형태로 존재 여부를 확인해야합니다. e.Data.GetDataPresent(typeof(ControlWrapper))
이 그 형식인지 알려줍니다.
+1 (EXACT 유형), 감사합니다. – wruckie