0

アプリケーションにドラッグ/ドロップを実装しようとしています。プログラムで a に追加した(UserControl私の場合は)を取得できる必要があります(これは a 内にあります)。PipelineTaskFlowLayoutPanelTabPage

PipelineTaskmyをに追加するメソッドFlowLayoutPanels:

private void fillPipeline()
    {
        flowLayoutPanel1.Controls.Clear();
        flowLayoutPanelNonIssues.Controls.Clear();
        foreach (FullTask task in pipelineTasks)
        {
            PipelineTask ts = new PipelineTask(task);
            ts.MouseDown += ts_MouseDown;
            if (task.TaskType == "Driver Issue")
            {
                flowLayoutPanel1.Controls.Add(ts);
            }
            else
            {
                flowLayoutPanelNonIssues.Controls.Add(ts);
            }
        }
    }

MouseDownメソッド:

private void ts_MouseDown(object sender, MouseEventArgs e)
    {
        PipelineTask ts = sender as PipelineTask;
        ts.DoDragDrop(ts, DragDropEffects.Move);
    }

しかし、MouseDownイベントはまったく発生していません。私UserControlPanel全体を埋め尽くしておりUserControl、これが問題かもしれないと推測しています。これについて私を助けることができる人はいますか?私が上記について正しければ、これに対処してUserControl代わりにつかむ方法についての解決策もうまくいきます。ありがとう

編集

UserControl をいっぱいにしていたパネルを削除して、問題を一時的に修正しました。したがって、明らかにこれが問題でした。ただし、これに対する解決策は、パネルを取り外さなくてもよいでしょう。

4

1 に答える 1