【问题标题】:Invalid Argument, Not sure why无效参数,不知道为什么
【发布时间】:2014-10-02 21:20:53
【问题描述】:

这是我的一些代码。

drawingContext.DrawEllipse(this.handOpenBrush, null, handPosition, HandSize, HandSize);

该代码运行良好。

不过,一旦我这样做,我就会收到错误,即它有一些无效的参数。

drawingContext.DrawEllipse(this.handOpenBrush, null, (handPosition.Offset(20,20)), HandSize, HandSize);

我所做的只是将 handPosition 点偏移 (20,20)。我看不出我能做些什么来导致程序突然出现参数错误。

【问题讨论】:

  • 您使用的是什么语言和 API(实际上是 Anthony 编辑猜测的 C#)?如果您让我们猜测,您将很难获得帮助。另外,什么样的“错误”?这些编译错误,是运行时的错误吗?错误的实际 text 是什么?
  • 看看Point.Offset返回什么(或者更确切地说它没有返回什么)
  • 查看您的“此代码工作正常”pline,handPosition.OffSet 导致错误只是常识,您能否显示所有相关代码,也许您正在输入(handPosition.Offset(20,20)),不需要第一个(

标签: c# invalid-argument


【解决方案1】:

Point.Offset 不返回新点 - 它改变现有的 Point。因此,您需要在调用DrawEllipse 之前更改点

handPosition.Offset(20,20);
drawingContext.DrawEllipse(this.handOpenBrush, null, handPosition, HandSize, HandSize);

或使用确实返回新Point的方法:

drawingContext.DrawEllipse(this.handOpenBrush, null, Point.Add(handPosition, new Vector(20,20)), HandSize, HandSize);

【讨论】:

    【解决方案2】:

    handPositionPoint

    Point.Offset() 是返回 void 的方法,而不是 Point,因此参数无效。

    相反,在drawingContext.DrawEllipse() 调用之前调用handPosition.Offset(20,20),然后您仍然可以将handPosition 作为第三个参数传入。

    【讨论】:

      猜你喜欢
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 2013-09-13
      • 2023-04-06
      • 1970-01-01
      • 2015-03-18
      相关资源
      最近更新 更多