Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.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# “System.EventArgs”不包含“Location”的定义_C#_Zooming_Eventargs - Fatal编程技术网

C# “System.EventArgs”不包含“Location”的定义

C# “System.EventArgs”不包含“Location”的定义,c#,zooming,eventargs,C#,Zooming,Eventargs,我想缩放图表 private void toolStripButtonZoom_Click(object sender, System.EventArgs e) { double posXStart = chartMain.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) - (xMax - xMin) / 0.5; double posXFinish = chartMain.ChartAreas[0].AxisX.P

我想缩放图表

 private void toolStripButtonZoom_Click(object sender, System.EventArgs e)
{
    double posXStart = chartMain.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) - (xMax - xMin) / 0.5;
    double posXFinish = chartMain.ChartAreas[0].AxisX.PixelPositionToValue(e.Location.X) + (xMax - xMin) / 0.5;
    double posYStart = chartMain.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y) - (yMax - yMin) / 0.5;
    double posYFinish = chartMain.ChartAreas[0].AxisY.PixelPositionToValue(e.Location.Y) + (yMax - yMin) / 0.5;

    chartMain.ChartAreas[0].AxisX.ScaleView.Zoom(posXStart, posXFinish);
    chartMain.ChartAreas[0].AxisY.ScaleView.Zoom(posYStart, posYFinish);
}

它无法识别位置并给出此错误。

错误消息是正确的。通过e参数访问的类实例不包含Location属性

不幸的是,这就是点击事件的全部内容。您需要切换到处理MouseClick事件,该事件传递具有Location属性的对象。这相当简单,只需更新处理程序方法的名称和将处理程序附加到事件的代码(可能位于设计器生成的代码隐藏文件中)

或者,可以使用属性检索鼠标指针的当前位置。这通常已经足够好了,但请记住以下几点:

单击事件不仅是响应鼠标事件而引发的,在某些其他情况下也会引发,例如当控件处于焦点且用户按下Enter键时。在这些情况下,鼠标指针的当前位置可能完全没有意义

这就是为什么MouseClick事件是一个更好的选择。它不仅免费为您提供位置信息,而且只在位置属性有意义时响应鼠标事件而引发

用户可能在生成单击事件和执行事件处理程序之间移动了鼠标,这意味着Cursor.Current返回的位置与用户最初单击的位置不同。在大多数情况下,这不是一个重要的距离,但它可能是


该错误消息是正确的。通过e参数访问的类实例不包含Location属性

不幸的是,这就是点击事件的全部内容。您需要切换到处理MouseClick事件,该事件传递具有Location属性的对象。这相当简单,只需更新处理程序方法的名称和将处理程序附加到事件的代码(可能位于设计器生成的代码隐藏文件中)

或者,可以使用属性检索鼠标指针的当前位置。这通常已经足够好了,但请记住以下几点:

单击事件不仅是响应鼠标事件而引发的,在某些其他情况下也会引发,例如当控件处于焦点且用户按下Enter键时。在这些情况下,鼠标指针的当前位置可能完全没有意义

这就是为什么MouseClick事件是一个更好的选择。它不仅免费为您提供位置信息,而且只在位置属性有意义时响应鼠标事件而引发

用户可能在生成单击事件和执行事件处理程序之间移动了鼠标,这意味着Cursor.Current返回的位置与用户最初单击的位置不同。在大多数情况下,这不是一个重要的距离,但它可能是


在哪种情况下你有这个代码?这个错误是相当自我解释的。e的类型为EventArgs,它没有名为Location的属性。您可能附加到错误的事件。是否可以发布函数的签名,例如public void on zoomeventagers,包括您在.cs文件中使用的任何名称空间?基本上,您在该方法中使用的EventArgs类型不包含名为Location的属性,这意味着使用了错误的类型。在哪种情况下,您有此代码?错误完全是自解释的。e的类型为EventArgs,它没有名为Location的属性。您可能附加到错误的事件。是否可以发布函数的签名,例如public void on zoomeventagers,包括您在.cs文件中使用的任何名称空间?基本上,您在该方法中使用的EventArgs类型不包含名为Location的属性,这意味着使用了错误的类型。这很有帮助,但应该是一个注释。@new我不同意,它确实回答了我们提供的问题。现在有了更多的信息,我又更新了一些。请注意,原始答案仍然准确。很有帮助,但应该是一个评论。@new我不同意,它确实回答了我们提供的问题。现在有了更多的信息,我又更新了一些。请注意,原来的答案仍然是准确的。