C# 为什么我的表格会变成DragDrop的背景?

C# 为什么我的表格会变成DragDrop的背景?,c#,winforms,drag-and-drop,z-order,C#,Winforms,Drag And Drop,Z Order,在拖放操作结束时,我将使用ShowDialog 问题:当窗体关闭时,我的主窗体被推到任何其他应用程序窗口后面 代码: 问题:我该怎么做才能使主窗体保持在顶部?您的ShowDialog()调用正在阻止DragDrop事件。这是非常非常糟糕的,它阻塞了拖动源,使其变得紧张,对Windows消息没有响应。这会有各种各样的副作用,比如你的视窗也会出现紧张症,或者因为D+D手术还没有完成而没有被激活 通过仅在D+D操作完成后显示对话框来避免这种情况。通过利用Winforms管道,可以将消息发布到消息队列并

在拖放操作结束时,我将使用
ShowDialog

问题:当窗体关闭时,我的主窗体被推到任何其他应用程序窗口后面

代码:

问题:我该怎么做才能使主窗体保持在顶部?

您的ShowDialog()调用正在阻止DragDrop事件。这是非常非常糟糕的,它阻塞了拖动源,使其变得紧张,对Windows消息没有响应。这会有各种各样的副作用,比如你的视窗也会出现紧张症,或者因为D+D手术还没有完成而没有被激活

通过仅在D+D操作完成后显示对话框来避免这种情况。通过利用Winforms管道,可以将消息发布到消息队列并在以后进行处理,这是一个很好的方法。像这样:

    private void ctl_DragDrop(object sender, DragEventArgs e) {
        //...
        this.BeginInvoke(new Action(() => {
            viewHelperForm.ShowDialog(view.TopLevelControl);
        }));
    }
您的ShowDialog()调用正在阻止DragDrop事件。这是非常非常糟糕的,它阻塞了拖动源,使其变得紧张,对Windows消息没有响应。这会有各种各样的副作用,比如你的视窗也会出现紧张症,或者因为D+D手术还没有完成而没有被激活

通过仅在D+D操作完成后显示对话框来避免这种情况。通过利用Winforms管道,可以将消息发布到消息队列并在以后进行处理,这是一个很好的方法。像这样:

    private void ctl_DragDrop(object sender, DragEventArgs e) {
        //...
        this.BeginInvoke(new Action(() => {
            viewHelperForm.ShowDialog(view.TopLevelControl);
        }));
    }
您的ShowDialog()调用正在阻止DragDrop事件。这是非常非常糟糕的,它阻塞了拖动源,使其变得紧张,对Windows消息没有响应。这会有各种各样的副作用,比如你的视窗也会出现紧张症,或者因为D+D手术还没有完成而没有被激活

通过仅在D+D操作完成后显示对话框来避免这种情况。通过利用Winforms管道,可以将消息发布到消息队列并在以后进行处理,这是一个很好的方法。像这样:

    private void ctl_DragDrop(object sender, DragEventArgs e) {
        //...
        this.BeginInvoke(new Action(() => {
            viewHelperForm.ShowDialog(view.TopLevelControl);
        }));
    }
您的ShowDialog()调用正在阻止DragDrop事件。这是非常非常糟糕的,它阻塞了拖动源,使其变得紧张,对Windows消息没有响应。这会有各种各样的副作用,比如你的视窗也会出现紧张症,或者因为D+D手术还没有完成而没有被激活

通过仅在D+D操作完成后显示对话框来避免这种情况。通过利用Winforms管道,可以将消息发布到消息队列并在以后进行处理,这是一个很好的方法。像这样:

    private void ctl_DragDrop(object sender, DragEventArgs e) {
        //...
        this.BeginInvoke(new Action(() => {
            viewHelperForm.ShowDialog(view.TopLevelControl);
        }));
    }

当打开的窗体关闭时,主窗体上是否触发了任何事件?是否捕获showDialog?类似事件a=newWindow.ShowDialog();当打开的窗体关闭时,主窗体上是否触发了任何事件?是否捕获showDialog?类似事件a=newWindow.ShowDialog();当打开的窗体关闭时,主窗体上是否触发了任何事件?是否捕获showDialog?类似事件a=newWindow.ShowDialog();当打开的窗体关闭时,主窗体上是否触发了任何事件?是否捕获showDialog?类似事件a=newWindow.ShowDialog();