You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将矩形绘制点的整数值赋值给Point?VB.NET类型转换报错

解决“整数无法转换为System.Drawing.Point”的错误

咱们先揪出报错的根源:你写的nPoint(i) = New Point() {point.X, point.Y}语法不对。New Point() { ... }是用来创建Point数组的写法,但nPoint(i)是数组里的单个Point元素,你需要给它赋值一个独立的Point实例,而非数组。

修正后的完整代码片段

point.X = midpoint.X 
point.Y = midpoint.Y - value.Height 
Dim rc As New Rectangle(New Point(point.X, point.Y), value.Size) 
rects1.Add(rc) 
temp.X = midpoint.X + value.Width 
PictureBox1.Invalidate() 
no_clicks += 1 
nPoint(i) = New Point(point.X, point.Y) ' 这里是修正后的核心代码
nSize(i) = New Size(value.Width, value.Height) 
i += 1

关键说明

  • New Point(point.X, point.Y)才是创建单个Point实例的正确方式:Point类的构造函数原生支持接收X、Y两个整数参数,直接传入坐标值即可完成实例化。
  • 额外提醒:使用nPoint数组前,记得先初始化它的大小(比如用ReDim nPoint(目标数组长度)),否则后续可能会触发“索引超出数组界限”的新错误。

内容的提问来源于stack exchange,提问作者Bibhu Khadka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 00:23:11