我要在我的MDI容器窗体中打开一个MDI子窗体,然后从该子窗体中打开另一个窗体,如下所示:
frmMyForm frm = new frmMyForm();
frm.ShowDialog();
此模式窗体具有拖放到DataGridView的能力(将文件从Windows资源管理器拖放到DataGridView的能力)。 现在的问题是,在我的开发PC上,拖放工作正常,但是当我将其传输到客户端计算机时,它无法正常工作,我发现在客户端计算机上运行拖放事件时,并没有触发拖放事件。 知道问题是什么吗?
我的活动如下:
private void dgvDocuments_DragEnter(object sender, DragEventArgs e)
{
//e.Effect = DragDropEffects.Copy;
//MessageBox.Show("Drag Enter - " + e.Data.GetDataPresent(typeof(System.String)));
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void dgvDocuments_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] strFiles = (string[])e.Data.GetData(DataFormats.FileDrop);
}
}
private void dgvDocuments_DragOver(object sender, DragEventArgs e)
{
// MessageBox.Show("Drag Over - " + e.Data.GetDataPresent(typeof(System.String)));
if (!e.Data.GetDataPresent(typeof(System.String)))
{
e.Effect = DragDropEffects.None;
return;
}
else
{
e.Effect = DragDropEffects.Copy;
}
}
此外,我想提到的是,我创建了一个具有dgv和拖放功能的表单的小型应用程序,以查看拖放功能是否可以在此表单应用程序中使用。它正在工作。