アプリケーションにドラッグ/ドロップを実装しようとしています。プログラムで a に追加した(UserControl
私の場合は)を取得できる必要があります(これは a 内にあります)。PipelineTask
FlowLayoutPanel
TabPage
PipelineTask
myをに追加するメソッド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
イベントはまったく発生していません。私UserControl
はPanel
全体を埋め尽くしておりUserControl
、これが問題かもしれないと推測しています。これについて私を助けることができる人はいますか?私が上記について正しければ、これに対処してUserControl
代わりにつかむ方法についての解決策もうまくいきます。ありがとう
編集
UserControl をいっぱいにしていたパネルを削除して、問題を一時的に修正しました。したがって、明らかにこれが問題でした。ただし、これに対する解決策は、パネルを取り外さなくてもよいでしょう。