LineShape如何实现控件数组?急!

hjk1 hjk1 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近要把一个vb6.0项目升级为vb.net,这个项目类似一个图形编辑器,需要在窗体上画n多条线,拖动图形的时候,图上的连接线也要跟着动。我做了一个实例,代码如下:
Imports Microsoft.VisualBasic.PowerPacks
Imports Microsoft.VisualBasic.Compatibility

Public Class Form1
Private arrayList1 As ArrayList
'Private sharp0 As LineShape


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub add()
Dim ShapeContainer1 = New Microsoft.VisualBasic.PowerPacks.ShapeContainer()
Dim sharp0 = New Microsoft.VisualBasic.PowerPacks.LineShape()
ShapeContainer1.Shapes.AddRange(New Microsoft.VisualBasic.PowerPacks.Shape() {sharp0})
Me.SuspendLayout()
sharp0.X1 = VB6.TwipsToPixelsX(VB6.PixelsToTwipsX(Button1.Left) + VB6.PixelsToTwipsX(Button1.Width))
sharp0.Y1 = VB6.TwipsToPixelsY(VB6.PixelsToTwipsY(Button1.Top) + VB6.PixelsToTwipsY(Button1.Height) / 2)
sharp0.X2 = VB6.TwipsToPixelsX(VB6.PixelsToTwipsX(Button1.Left + 50) + VB6.PixelsToTwipsX(Button1.Width) + 100)
sharp0.Y2 = VB6.TwipsToPixelsY(VB6.PixelsToTwipsY(Button1.Top) + VB6.PixelsToTwipsY(Button1.Height + 100) / 2)
Me.Controls.Add(ShapeContainer1)
'arrayList1.Add(New ShapeContainer)
'Me.PointToClient()
Me.ResumeLayout(False)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.add()
End Sub
End Class

可我往arrayList1里加的时候报运行时错误。我是做C#的,实在搞不懂VB这块控件数组怎么弄,请各位老大帮忙呀!今天就必须做出来啊!谢谢!!
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
hjk1
VB 16,718 成员 110,520 内容