如何将矩形绘制点的整数值赋值给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
相关产品推荐
相关产品推荐

