0

好吧,我在这个问题上挣扎了很多。我尝试做一个简单的拖放操作,所以我在主窗体(从主线程操作的那个)中完成了它,它听起来很简单。代码是这样的:

    protected override void OnMouseDown(MouseEventArgs e)
    {
        DragDropEffects EffectResult=DoDragDrop("Hello", DragDropEffects.Copy);
        base.OnMouseDown(e);
    }

我说的只是源代码。我现在不在乎目标。因此,在主窗体中,这段代码运行良好,当我按下鼠标、按住并移动它时,我看到了拖动的迹象(在这种情况下是一个带有线条的圆圈)。

现在在主线程中,我正在调用其他线程并使用代码打开一个新表单ShowDialog()

问题从这里开始,当我在新表单中放入完全相同的代码时,它为 EffectResult 变量返回 None 并且对光标不执行任何操作。

我想问题可能是因为新线程,它们异步工作,但我该如何解决?

4

0 回答 0