从C#中的代码调用Drop事件

时间:2015-03-31 08:15:00

标签: c# winforms

如何从winforms中的代码调用DragDrop事件。

var ctrls = this.Owner.Controls.Find("mediaPlayer", true);
ctrls[0].??DragDrop(x,y)??

先谢谢。

1 个答案:

答案 0 :(得分:0)

var ctrls = parentForm.Controls.Find("mediaPlayer", true);
Type t = typeof(Panel);
object[] p = new object[1];
p[0] = new DragEventArgs(new DataObject(DataFormats.FileDrop, new string[] {@"d:\test\test.avi"}), 0, 0,0, DragDropEffects.Copy, DragDropEffects.Copy);
MethodInfo m = t.GetMethod("OnDragDrop", BindingFlags.NonPublic | BindingFlags.Instance);
m.Invoke(ctrls[0], p);

请参阅source