Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WinForms图表:如何在DragDrop事件中标识数据点?_C#_Winforms_Drag And Drop_Charts - Fatal编程技术网

C# WinForms图表:如何在DragDrop事件中标识数据点?

C# WinForms图表:如何在DragDrop事件中标识数据点?,c#,winforms,drag-and-drop,charts,C#,Winforms,Drag And Drop,Charts,在我的C#WinForms应用程序中,我使用拖放将项目从TreeView控件移动到图表控件。(这是一个带有作业列表的日程安排应用程序,用户将作业放入日程安排中)。当用户将一个项目放到图表上现有的数据点上时,我希望新项目成为一个数据点并替换旧项目(在队列中向下移动) 下面是我为DragDrop事件处理程序准备的内容,它不完全(但几乎)工作: 有人能帮我保存我的理智并帮我弄清楚如何判断用户将作业放到哪个数据点吗?您得到的鼠标位置(e.X,e.Y)在屏幕坐标中。您必须将其映射到图表控件。修正: var

在我的C#WinForms应用程序中,我使用拖放将项目从TreeView控件移动到图表控件。(这是一个带有作业列表的日程安排应用程序,用户将作业放入日程安排中)。当用户将一个项目放到图表上现有的数据点上时,我希望新项目成为一个数据点并替换旧项目(在队列中向下移动)

下面是我为DragDrop事件处理程序准备的内容,它不完全(但几乎)工作:


有人能帮我保存我的理智并帮我弄清楚如何判断用户将作业放到哪个数据点吗?

您得到的鼠标位置(e.X,e.Y)在屏幕坐标中。您必须将其映射到图表控件。修正:

var pos = chart1.PointToClient(new Point(e.X, e.Y));
HitTestResult testResult = chart1.HitTest(pos.X, pos.Y, ChartElementType.DataPoint);

像冠军一样拖拖拉拉,现在。谢谢
var pos = chart1.PointToClient(new Point(e.X, e.Y));
HitTestResult testResult = chart1.HitTest(pos.X, pos.Y, ChartElementType.DataPoint);